Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
RRaj_293
Helper III
Helper III

Data Modelling Issue (Many to Many between Fact and Dimension)

Hello , 

 

Please help with the below data modelling question-

 

I have a fact table called purchase Order and few other dimensions connected in star schema . Now I have brought in a connection to smartsheet and the columns in both the fact and smart sheet table is as shown-

 

 

Purchase Order Fact Table   
Purchase OrderLine NumberOrdered Units
ABC114
ABC125
ABC132
PQR2113
PQR2224
PQR235
PQR241
XYZ313
XYZ328
XYZ339

 

Smart Sheet Table-

Program CodeProgram NamePurchase Order
123united pgmABC1
345Exclusive pgmABC1
678Rep PgmPQR
123united pgmXYZ3
678Rep PgmXYZ3
   

 

- Purchase Order is the only common field(joining field) between both the fact and smart sheet table.

- One purchase order in Smart sheet table could belong to more than 1 program and hence can have more than one       program  code. This results in a M-M relationship as shown in table above(Multiple records of purchase order).

- In the Power BI report , Purchase order Number is used for display from Fact table and only 'Program Code' and 'Program Name' is used from Smartsheet table.

 

Problem - I tried single and bi-directional filter for the M-M relationship between these two tables they are not yielding right results. Even if I create a bridging table it would have one purchase order occuring twice because of the program codes.

 

Please advise how fix this data model issue.

1 ACCEPTED SOLUTION
Burhan_Jiru
Frequent Visitor

Hi,

try creating a bridge/factless fact table it will solve your many to many relationship problem.
if your don't know about bridge/factless fact table you can search on google that how to build one and what are the use cases of it.

 

I hope this is helpfull

thank you

View solution in original post

3 REPLIES 3
RRaj_293
Helper III
Helper III

Hi , Thank you all for responding. A bridge table did not resolve it. I went with a M-M bi-directional join and enabled the 'show items with no data' so this gave me the expected results of a left outer join by bringing in only the program codes of the Purchase order used from fact. 

lbendlin
Super User
Super User

That is not a Purchase Order Fact Table. It is a PO Line Item fact table.  Add a PO dimension table in between.

Burhan_Jiru
Frequent Visitor

Hi,

try creating a bridge/factless fact table it will solve your many to many relationship problem.
if your don't know about bridge/factless fact table you can search on google that how to build one and what are the use cases of it.

 

I hope this is helpfull

thank you

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.