Forum Discussion
Power BI modelling
Good day,
I would like to ask in power BI modelling how would I connect the 3 fact tables together because in the fact_status has a value(y,n,npd) and i want to use those values as a filter.
i concat the code,channel and date because the status is dependent on the date also. Ex. For the month of aug 2025 this specific code and channel is "N" and for the past months it is "Y".
Best practice → make a separate bridge/dimension table (distinct Code+Channel+Date).
Don’t use Fact_Status directly, because it contains measures/attributes and will cause duplicate filtering.
The bridge is just a clean key table; then you connect all fact tables (including Fact_Status) to it.
So yes, you should build a separate bridge table rather than reusing Fact_Status.
4 Replies
- Shahid12523Community Champion
Create a composite key (Code+Channel+Date) in all fact tables.
Build a bridge/dimension table with distinct keys.
Link all facts to this bridge on the key.
Use Status from Fact_Status as slicer → filters Forecast & Actual correctly per month.
- XtyleeeeNew Member
Is the bridge table seperate from the fact status? Or i can use the fact_status and xreate the composite key and remove duplicates on the specific key?
- Shahid12523Community Champion
Best practice → make a separate bridge/dimension table (distinct Code+Channel+Date).
Don’t use Fact_Status directly, because it contains measures/attributes and will cause duplicate filtering.
The bridge is just a clean key table; then you connect all fact tables (including Fact_Status) to it.
So yes, you should build a separate bridge table rather than reusing Fact_Status.
- rohit1991Super User
Hi Xtyleeee
The simplest way to make Y / N / NPD drive all three facts:-
Keep four small lookups: Date (month level), Code, Channel, Status (Y/N/NPD).
-
Connect all three fact tables to Date, Code, Channel (normal one-way links).
-
Build FactStatus at month grain (one row per Code × Channel × Month with its status) and link it to the same lookups (including Status).
-
Put Status on a slicer.
-
For each fact’s measure, filter by the rows that exist in FactStatus for the selected Status (tiny TREATAS measure so only those Code+Channel+Month combos remain).
-