Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
This is more of a "Why does this work" question rather than a "how do I" question.
Here is some context of the scenario using dummy data:
I have a fact table that looks like this:
Each column ID points to its respective dimension table
Within those dimension tables, the corresponding ID determines a value. For example the Risk Score Value column in the Risk Score dimension (Relationship = Risk Score_ID -> AnalysisCodeValueID)
I have created two measures:
1. Risk Score SUM = CALCULATE(SUM('Risk Score'[Risk Score]))
2. Total Risk Score = CALCULATE(SUMX('Analysis Codes',RELATED('Risk Score'[Risk Score])))
When I bring these elements into a table visual why does the Measure: "Risk Score SUMXRelated" return the correct sum but the Risk Score SUM measure does not?
Any help would be appreciated
Solved! Go to Solution.
Hi,
I see the issue here, in AnalysisCodes Table - you have two rows but only one row in Risk Score for each for RiskScoreID. When you calculate the Risk Score Measure in Risk Score, it's taking consideration of only one row. However, you are already getting correct data from
Proud to be a Super User! | |
Would you able to share the pbix file with dummy data?
Proud to be a Super User! | |
G-Drive link with pbix file:
https://drive.google.com/file/d/1SFP2EnkWGpnTSkCzSI3OXmgiCaf0FNYa/view?usp=sharing
Hi,
The Risk Score SUM measure you’ve created uses the SUM function within a CALCULATE statement. This measure sums up the ‘Risk Score’[Risk Score] column, but it doesn’t iterate over each row of your ‘Analysis Codes’ table. As a result, it might not consider the row context properly when calculating totals, especially if there are filters or slicers affecting the visual.
On the other hand, the Total Risk Score measure uses SUMX with a RELATED function, which iterates over each row in the ‘Analysis Codes’ table and sums the related ‘Risk Score’[Risk Score] for each row. This row-by-row operation ensures that the context is considered for each individual calculation, leading to a correct total.
To fix the issue with the Risk Score SUM measure, you might need to adjust it to ensure it respects the row context. One way to do this is by using SUMX over a virtual table that includes all the necessary rows and relationships. Here’s an example of how you might modify your measure:
Risk Score SUM Corrected =
SUMX(
RELATEDTABLE('Risk Score'),
'Risk Score'[Risk Score]
)
Let me know the result.
Proud to be a Super User! | |
Hi Kaviraj,
Thanks for your response, unfortunately the right number still wasn't shown when the new dax was used:
I think I see the problem:
I have replicated the slicers in the data view. A RiskScore_ID of 17 = 5 and a RiskScore_ID of 317 = 15.
If I have two rows of each then the sum should total 40. However, it's summing the distinct values instead. (One row of 5 and one row of 15)
Hi,
I see the issue here, in AnalysisCodes Table - you have two rows but only one row in Risk Score for each for RiskScoreID. When you calculate the Risk Score Measure in Risk Score, it's taking consideration of only one row. However, you are already getting correct data from
Proud to be a Super User! | |
Ah I see, that makes sense. Thanks a lot
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
21 | |
20 | |
19 | |
13 | |
12 |
User | Count |
---|---|
41 | |
29 | |
23 | |
22 | |
22 |