Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowLearn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
I'm new to Power Bi Desktop. I'm trying to rank a text variable with respect to a decimal variable. I used RANKX function for this. Its working even for filters as well. But I'm getting problems when decimal variable becomes negative. Its working fine for positive decimals. For negative decimals the rank is showing as a different number from the rank that is shows for zero. Ideally it should be increased by 1. Then again after showing some random number for -0.01 the rank is increaing for -0.02 and is working perfectly fine.
For positive decimals set ranking is fine and for negative decimal set ranking is good. Its just that the ranks dont match for both of them, Ideally rankings should just increase as we go from positive to negative.
Need help! Thanks in advance.
Thank you!
firstdHigh = VAR customer=SELECTEDVALUE(V_HH_VisitDuration[CustomerNo])
return
CALCULATE(SUM(V_HH_VisitDuration[visit duration]);FILTER(ALL(V_HH_VisitDuration);V_HH_VisitDuration[CustomerNo]=customer && [RANKING]=1))
in this dax how to get the rank value thats represents the min value ?
Hi SaiPranav,
Please provide us some sample data, so that we can try to reproduce this issue and make further analysis.
I have tested it, RANKX function works fine for negative numbers.
Create two measures.
TotalValue = SUM('RankX'[Value])
RankXValue = RANKX(ALL('RankX'[ID]),[TotalValue],,,Dense)
Regards,
It seems than the problem is when in ranking you use measure that can return negative value. Here small example:
Table: "Shops"
Shop | Value | Territory
Shop1 | 10 | A
Shop2 | 5 | B
Shop3 | 2 | B
Shop4 | -4 | A
Two measures:
Measure = MAX('Shops'[Value])
Rank = RANKX(ALLEXCEPT('Shops';Shops[Territory]);'Shops'[Measure])
When you set a filter on territory "A" you get wrong result:
Territory | Shop | Value | Rank
A | Shop1 | 10 | 1
A | Shop4 | -4 | 4 - instead of 2 !
For territory B everything is correct
Territory | Shop | Value | Rank
B | Shop2 | 5 | 1
B | Shop3 | 2 | 2
It seems than the problem is when in ranking you use measure that can return negative value. Here small example:
Table: "Shops"
Shop | Value | Territory
Shop1 | 10 | A
Shop2 | 5 | B
Shop3 | 2 | B
Shop4 | -4 | A
Two measures:
Measure = MAX('Shops'[Value])
Rank = RANKX(ALLEXCEPT('Shops';Shops[Territory]);'Shops'[Measure])
When you set a filter on territory "A" you get wrong result:
Territory | Shop | Value | Rank
A | Shop1 | 10 | 1
A | Shop4 | -4 | 4 - instead of 2 !
For territory B everything is correct
Territory | Shop | Value | Rank
B | Shop2 | 5 | 1
B | Shop3 | 2 | 2
Can you provide a concrete example of what you are referring to? I have read your post three times and I am still confused. Some example data and your results would be great.
RANKX works with negative numbers - what measure have you written?
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 50 | |
| 40 | |
| 37 | |
| 14 | |
| 14 |
| User | Count |
|---|---|
| 86 | |
| 69 | |
| 37 | |
| 29 | |
| 26 |