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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 9 | |
| 5 | |
| 5 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 24 | |
| 11 | |
| 9 | |
| 7 | |
| 6 |