Forum Discussion

brendanoshea's avatar
brendanoshea
New Member
3 years ago
Solved

Ranx and filter function

I am trying to make a leaderboard where individuals are ranked amongst their teams by their last jump height. I am running into the problem of DAX thinking I am trying to rank athletes against themselves rather than the other members of their team. I have included screen shots illustrating my problem, any help is much appreciated. 

  • Hi brendanoshea ,

     

    Please follow these steps:

    (1)My test data

     

    (2) Create a new measure

    NEW SCORE = 
    VAR _PLAYER = MAX('Table'[player])
    VAR _INDEX = CALCULATE(MAX('Table'[Index]),FILTER(ALL('Table'),'Table'[player] = _PLAYER))
    VAR _SCORE = CALCULATE(MAX('Table'[score]),FILTER(ALL('Table'),'Table'[Index] = _INDEX))
    RETURN _SCORE
    
    
    RANKX = 
    RANKX(ALL('Table'),[NEW SCORE],,DESC,Dense)

     

    (3)Final output

     

     

    If this is not what you need, please point it out further or provide sample files

     

    Best Regards,

    Gallen Luo

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

1 Reply

  • v-jialluo-msft's avatar
    v-jialluo-msft
    Community Support

    Hi brendanoshea ,

     

    Please follow these steps:

    (1)My test data

     

    (2) Create a new measure

    NEW SCORE = 
    VAR _PLAYER = MAX('Table'[player])
    VAR _INDEX = CALCULATE(MAX('Table'[Index]),FILTER(ALL('Table'),'Table'[player] = _PLAYER))
    VAR _SCORE = CALCULATE(MAX('Table'[score]),FILTER(ALL('Table'),'Table'[Index] = _INDEX))
    RETURN _SCORE
    
    
    RANKX = 
    RANKX(ALL('Table'),[NEW SCORE],,DESC,Dense)

     

    (3)Final output

     

     

    If this is not what you need, please point it out further or provide sample files

     

    Best Regards,

    Gallen Luo

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.