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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
jd8766
Helper II
Helper II

Dealing with multiple fact tables?

We have a star schema in place currently (see screenshot example), however I have been tasked to add a new Fact table (the payments one) into our existing SSAS model.

 

I am planning on using the Contract Dimension as a conformed dimension to filter both Sales and Payments (joining on the ContractKey column). My only problem is I can imagine the business will eventually want to see PaymentAmount by SoldTeamKey (this would be the total payments grouped by team, however this only exists currently on the FACT.Sales table)

What would the best approach be? To add all of the conformed dimensions to my Payments table so it also contains SoldDateKey, SoldTeamKey etc.. or to move the SoldDate/SoldTeam columns to the Contract dimension table and use the fields on there to filter both? Just wondering what people think the best approach would be with these situations?

Appreciate any advice

Capture.PNG

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @jd8766 ,

 

You are right.

If you want to avoid relationship, you will need to create a measure like below:

Measure = CALCULATE(SUM('Fact Payment'[PaymentAmount]),FILTER('Fact Payment','Fact Payment'[ContractKey] in VALUES('Fact Sales'[ContractKey])))

vjaywmsft_0-1659080280358.png

 

Best Regards,

Jay

View solution in original post

4 REPLIES 4
Jaaap
Regular Visitor
Anonymous
Not applicable

Hi @jd8766 ,

 

You just need to create relationships between these tables using [ContractKey].

vjaywmsft_0-1658994906027.png

Then create the visual like below:

vjaywmsft_1-1658994977000.png

If I misunderstood you meaning, please show the expected result.

 

Best Regards,

Jay

From my understanding of data modelling a fact table should never directly filter a fact table, and a bi-directional relationship could create performance issues/maybe bring back incorrect data?

Anonymous
Not applicable

Hi @jd8766 ,

 

You are right.

If you want to avoid relationship, you will need to create a measure like below:

Measure = CALCULATE(SUM('Fact Payment'[PaymentAmount]),FILTER('Fact Payment','Fact Payment'[ContractKey] in VALUES('Fact Sales'[ContractKey])))

vjaywmsft_0-1659080280358.png

 

Best Regards,

Jay

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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