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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
hrafnkel11
Helper I
Helper I

Best way to model more than two related fact tables

Hi – I’m struggling with the best way to model this given all of the "multiple fact" strategies I've read. Really hoping someone could give some guidance. The frustrating thing for me is that I can do this all in SQL very quickly, but we lose flexibility the more calculations we push back to our warehouse, so we’re looking for the best middle ground.

 

Background: we require contacts to be certified before they can sell our product. Every contact has a role and every role has different tests that need to be completed in order for a contact to be certified.

 

Goal: For all contacts, see which tests are required and which have been completed.

 

Issues:

  • For one, our contact table is historical by quarter, so CONTACT_ID is not unique here. A contact that existed for 3 quarters would be in the table 3 times.
  • I’ve tried to join the fact tables together using common dimensions, but I’m unable to get the full picture of Contact -> Requirement -> Test
  • Ideally the test data would relate to a separate DATE dimension, as we would want flexibility on seeing when the tests were completed.
  • Sometimes a contact may take tests outside of their requirements

 

Tables in model:

 

Historical Contacts

QUARTER

CONTACT_ID

ROLE_ID

 

We get the requirements for every contact based on the role of the contact and the year of the contact. 

Contact Certification Requirements

ROLE_ID

YEAR

TEST_ID

 

We know what tests need to be completed based on contact's role in the requirement table and which contacts did the tests from the contact table.

Test Data

CONTACT_ID

TEST_ID

DATE

1 ACCEPTED SOLUTION
Anonymous
Not applicable

HI @hrafnkel11,

in fact, in power bi you do not need to create all the relationship between tables, it only allows one major relationship to link different tables, or they will cause the conflict when analysis and aggregate records based on relationship.
You can map dimension table with their own fact table and use the table with key field which existed both two fact tables as bridge to link two star schema.
If you want to use specific or inactived relationship mapping, you can consider writing a formula with USERELATIONSHIP or TREATAS function to calculate.

Using USERELATIONSHIP in DAX - SQLBI

Propagating filters using TREATAS in DAX - SQLBI

Regards,

Xiaoxin Sheng

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

HI @hrafnkel11,

Perhaps you can take a look at the use snowflake schema to design the relationship model if they help with multiple fact table scenarios:

Star Schema vs Snowflake Schema 

Regards,

Xiaoxin Sheng

Thank you @Anonymous! I think this is what I was originally trying to do using a model similar to the below. I can see why Power BI wouldn't like this due to relationship cardinality. I'm guessing I should maybe look to combine some of these tables to reduce complexity?

 

hrafnkel11_0-1719328899388.png

 

Anonymous
Not applicable

HI @hrafnkel11,

in fact, in power bi you do not need to create all the relationship between tables, it only allows one major relationship to link different tables, or they will cause the conflict when analysis and aggregate records based on relationship.
You can map dimension table with their own fact table and use the table with key field which existed both two fact tables as bridge to link two star schema.
If you want to use specific or inactived relationship mapping, you can consider writing a formula with USERELATIONSHIP or TREATAS function to calculate.

Using USERELATIONSHIP in DAX - SQLBI

Propagating filters using TREATAS in DAX - SQLBI

Regards,

Xiaoxin Sheng

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.