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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

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
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

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.