Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.

Reply
Anonymous
Not applicable

Impact of variables when Ranking

Hi experts,

 

I'm using this formula to Rank by country based on a measure:

Rank = VAR Temp = [ValueSum]
Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'),Temp )
)

ValueSum = CALCULATE(SUM('Table'[Value]))

The problem is when I use the variable within the Rank function, the ranking is not working:

Rank.png

However, when I use the measure directly, it works:

Rank = VAR Temp = [ValueSum]
Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'),[ValueSum] )
)

Screenshot_1.png

Is there any problem using variables within a Rank function? variables do not propagate filters?

 

Thanks

1 ACCEPTED SOLUTION
az38
Community Champion
Community Champion

@Anonymous 

with var you calculated your measure before the main calculation and this is lead you to almost static value.

let's say

Rank = VAR Temp = [ValueSum]

 at this moment Temp is equal, for example 2. then your return will look like

Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'), 2 )
)

that has no sense.

 

for this statement it calculates for all amount of data for each row (if this static value <> 0)

Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'),[ValueSum] )
)

 


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn

View solution in original post

1 REPLY 1
az38
Community Champion
Community Champion

@Anonymous 

with var you calculated your measure before the main calculation and this is lead you to almost static value.

let's say

Rank = VAR Temp = [ValueSum]

 at this moment Temp is equal, for example 2. then your return will look like

Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'), 2 )
)

that has no sense.

 

for this statement it calculates for all amount of data for each row (if this static value <> 0)

Return
IF( 
    Temp = 0,
    BLANK(),
    RANKX( ALL('Table'),[ValueSum] )
)

 


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors