Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Ranking with multiple filters

Hi I have a table and I want to rank ONLY the instances of userIDs where statusofResponse is 1 and ResponseID is 99. Here is the table and here is the desired output:

UserIDResponseIDResponse ValueStatusofResponseDateUpdated
199613/1/2020
299913/3/2020
345100013/3/2020
499 03/3/2020
199313/10/2020
245400013/10/2020
299313/12/2020

 

Desired output

UserIDResponseIDResponse ValueStatusofResponseDateUpdatedRank
199613/1/20201
299913/3/20201
345100013/3/2020 
499 03/3/2020 
199313/10/20202
245400013/10/20202
299313/12/2020 

So 3 wouldn't have a rank because the ResponseID was not 99 and 4 wouldn't be ranked because the statusofresponse was 0

 

thanks!

 

  • Try:

     

    Rank = 
        IF([StatusofResponse] <> 1 || [ResponseID] <> 99,
            BLANK(),
            RANKX(FILTER('Table',[StatusofResponse] = 1 && [ResponseID] = 99 && [UserID] = EARLIER([UserID])),[Response Value])
        )

     

1 Reply

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    Try:

     

    Rank = 
        IF([StatusofResponse] <> 1 || [ResponseID] <> 99,
            BLANK(),
            RANKX(FILTER('Table',[StatusofResponse] = 1 && [ResponseID] = 99 && [UserID] = EARLIER([UserID])),[Response Value])
        )