Forum Discussion

ryan_b_fiting's avatar
ryan_b_fiting
Post Patron
5 years ago
Solved

RANK Dates dynamically

Hello Community - 

 

I have a set of data with part_numbers, quantities and dates.  I am looking to be able to rank the dates from newest to oldest so that I can determine if the part is one that we are actively purchasing based on the most recent 3 weeks (sometimes the part is not purchased on the date and there is no line of data for the part for the specific date).

 

I have my RANKX formula ranking the dates 

Rank ReleaseDate_Mon =
RANKX (
ALLSELECTED ( ReleaseDateRanks[ReleaseDate_Mon] ),
CALCULATE ( SELECTEDVALUE ( ReleaseDateRanks[ReleaseDate_Mon]) ),
,
DESC
)
The output it is producing is correct.  However, when I try to change my date range, the rank does not dynamically change.  Those ranks remain the same when I slim my date range down.

 What I need to happen, when I change the range in the example above, I would need 2/1/2021 to have a RANK of 1 1/25/2021 to have a RANK of 2 and so on.

 

I am guessing this is a simple miss by me, but any help would be great.

 

Thanks
Ryan

  • Anonymous's avatar
    Anonymous
    5 years ago

    ryan_b_fiting 

     

    I've set up a small example with a simple table that only has about 10 dates, then created this measure:

    Ranking = 
    if( ISINSCOPE( Releases[Release Date] ),
        RANKX(
            ALLSELECTED( Releases[Release Date] ),
            CALCULATE( SELECTEDVALUE( Releases[Release Date] ) ),,
            DESC
        )
    )

    and it works as expected, adjusting itself to the selected range.

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    ryan_b_fiting 

     

    I've set up a small example with a simple table that only has about 10 dates, then created this measure:

    Ranking = 
    if( ISINSCOPE( Releases[Release Date] ),
        RANKX(
            ALLSELECTED( Releases[Release Date] ),
            CALCULATE( SELECTEDVALUE( Releases[Release Date] ) ),,
            DESC
        )
    )

    and it works as expected, adjusting itself to the selected range.