Forum Discussion

RRaj_293's avatar
RRaj_293
Helper III
2 years ago
Solved

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.

  • 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

3 Replies

  • Burhan_Jiru's avatar
    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

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

  • 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.