Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
A single fact table attaches to two conformed dimensions. Dimension_1 is actively attached. Dimension_2 is inactively attached. For this fact table only, the goal is for Dimension_2 to filter the list of Dimension_1 as associated to the Fact table, but then to disappear from the calculation, allowing only related Dimension_1 records to affect the results. Another way to look at the goal is that Dimension_2 chooses the Dimension_1 values, but then all Fact records associated with Dimension_1 are calculated, ignoring the Dimension_2 choice. Note that other dimensions might be affecting the results, but these describe the interactions of these two dimensions.
For example, I have tried the following DAX that does not accomplish the goal. What does get returned is filtered by both Dim1 and Dim2.
Solved! Go to Solution.
It was solved with a bridge table between Dim2 and the Fact table. The bridge contains the appropriate Dim1 and Dim2 pairings, with a relationship {Dim2.Dim2Key, Bridge.Dim2Key} one-to-many join and a {Bridge.Dim1Key, Fact.Dim1Key} many-to-many join. Both joins are uni-directional toward the fact table.
Thanks for your suggestions @amitchandak .
It was solved with a bridge table between Dim2 and the Fact table. The bridge contains the appropriate Dim1 and Dim2 pairings, with a relationship {Dim2.Dim2Key, Bridge.Dim2Key} one-to-many join and a {Bridge.Dim1Key, Fact.Dim1Key} many-to-many join. Both joins are uni-directional toward the fact table.
Thanks for your suggestions @amitchandak .
@RandyPgh , Try one of the two ways
CALCULATE(
COUNTROWS('Fact'),
USERELATIONSHIP('Fact'[Dim2Key],'Dim2'[Dim2Key])
)
or
CALCULATE(
COUNTROWS(summarize('Fact', 'Fact'[Dim1Key])),
USERELATIONSHIP('Fact'[Dim2Key],'Dim2'[Dim2Key])
)
User | Count |
---|---|
42 | |
28 | |
24 | |
20 | |
16 |
User | Count |
---|---|
54 | |
35 | |
18 | |
18 | |
15 |