Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Calculated column for rank within group

Hi,

I have data including a unique session id, a timestamp for the different events within that session and their names. I would like to create a column that shows the rank of each event within the session, as shown below.

Session_IDTimestampNameRank
122.05.2023 18:00a1
122.05.2023 18:10b2
222.05.2023 18:05b1
222.05.2023 18:07a2

I've tried a couple of different things, but the closest I've come is with this (Overview being the table name):

Rank within Session =
RANKX(
    FILTER(
        'Overview',
        'Overview'[Session_ID]=EARLIER(Overview[Session_ID])
    ),
    'Overview'[Timestamp]
    )
which however gives the overall rank, disregarding session_id.
 
Any help would be greatly appreciated!
  • Hello Anonymous 

     

    Use the below Measure to populate the required result.

     

    Rank Column =
    RANKX(
        FILTER(
            rankkx,
            rankkx[Session_ID] = EARLIER(rankkx[Session_ID]) &&
            (rankkx[Timestamp] < EARLIER(rankkx[Timestamp]) ||
            rankkx[Name] < EARLIER(rankkx[Name]))
        ),
        rankkx[Timestamp],
        ,
        ASC,
        Dense
    )

     

    let me know if this helps.
     
    If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

2 Replies

  • NaveenGandhi's avatar
    NaveenGandhi
    Icon for Memorable Member rankMemorable Member

    Hello Anonymous 

     

    Use the below Measure to populate the required result.

     

    Rank Column =
    RANKX(
        FILTER(
            rankkx,
            rankkx[Session_ID] = EARLIER(rankkx[Session_ID]) &&
            (rankkx[Timestamp] < EARLIER(rankkx[Timestamp]) ||
            rankkx[Name] < EARLIER(rankkx[Name]))
        ),
        rankkx[Timestamp],
        ,
        ASC,
        Dense
    )

     

    let me know if this helps.
     
    If this post helps, then please consider Accept it as the solution to help the others find it more quickly.