Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Dear all,
I have to create a RankX measure to do ranking about dept of customers. But when i wrote:
RANKX = RANKX(ALL('AR by KH'[Customer]),SUM('AR by KH'[Dept]), , DESC)
It's not working, each row gets a result is 1
But when I change my code to:
RANKX = RANKX(ALL('AR by KH'[Customer]), CALCULATE(SUM('AR by KH'[Dept])), , DESC)
It's working for this sentence
So my question is: CALCULATE(SUM('AR by KH'[Dept])) and SUM('AR by KH'[Dept]) what is different? Because as I knew, when using Calculate without filter, the result will be the same with SUM()
Solved! Go to Solution.
Hi,
What CALCULATE does above is transition the row context to the filter context inside the measure.
In above, if the measure,
SUM Measure = SUM('AR by KH'[Dept])
is written first,
and then when you create a RANKX measure like below,
RANKX = RANKX(ALL('AR by KH'[Customer]), [SUM Measure], , DESC)
it will show the expected result.
I hope this helps.
Hi,
What CALCULATE does above is transition the row context to the filter context inside the measure.
In above, if the measure,
SUM Measure = SUM('AR by KH'[Dept])
is written first,
and then when you create a RANKX measure like below,
RANKX = RANKX(ALL('AR by KH'[Customer]), [SUM Measure], , DESC)
it will show the expected result.
I hope this helps.
User | Count |
---|---|
10 | |
9 | |
7 | |
4 | |
4 |