Forum Discussion

RevOps608's avatar
RevOps608
Icon for Helper II rankHelper II
2 years ago
Solved

Using RANK and SWITCH together

My SWITCH statement works properly but I need to RANK the results within a Heirarchy. I have Territory_Managers and then Salespeople grouped below them. How do I rank each group of salespeople within their territory.

 

Quota SWITCH =
SWITCH(
    TRUE(),
    [Quota Selection] = "January Quota", FORMAT(DIVIDE([2024 Sales PGACV], [January quota]),"0.0%"),
    [Quota Selection] = "February Quota", FORMAT(DIVIDE([2024 Sales PGACV], [February Quota]),"0.0%"),
    [Quota Selection] = "March Quota", FORMAT(DIVIDE([2024 Sales PGACV], [March Quota]),"0.0%"),
    [Quota Selection] = "April Quota", FORMAT(DIVIDE([2024 Sales PGACV], [April Quota]),"0.0%"),
    [Quota Selection] = "May Quota", FORMAT(DIVIDE([2024 Sales PGACV], [May Quota]),"0.0%"),
    [Quota Selection] = "June Quota", FORMAT(DIVIDE([2024 Sales PGACV], [June Quota]),"0.0%"),
    [Quota Selection] = "Q1 Quota",FORMAT( DIVIDE([2024 Sales PGACV], [Q1 Quota]),"0.0%"),
    [Quota Selection] = "Q2 Quota", FORMAT(DIVIDE([2024 Sales PGACV], [Q2 Quota]),"0.0%"),
    [Quota Selection] = "H1 Quota", FORMAT(DIVIDE([2024 Sales PGACV], [H1_Quota]),"0.0%"),
    [Blank]
)
 
  • RevOps608 

     

    output : 

     

    ranking = 
    var datasource = 
    CALCULATETABLE(
        SUMMARIZE(
            table_1,
            table_1[territorymanager],
            table_1[salespeople]
        ),
        REMOVEFILTERS(table_1[salespeople])
    )
    var r =
    RANK(
        ,
        datasource,
        ORDERBY([total sales] , desc ) 
    )
    return r

     

     

     

     

     

     

    If my answer helped sort things out for you, i would appreciate a thumbs up 👍 and mark it as the solution !
    It makes a difference and might help someone else too. Thanks for spreading the good vibes! 🤠

     

3 Replies

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

    RevOps608 

     

    output : 

     

    ranking = 
    var datasource = 
    CALCULATETABLE(
        SUMMARIZE(
            table_1,
            table_1[territorymanager],
            table_1[salespeople]
        ),
        REMOVEFILTERS(table_1[salespeople])
    )
    var r =
    RANK(
        ,
        datasource,
        ORDERBY([total sales] , desc ) 
    )
    return r

     

     

     

     

     

     

    If my answer helped sort things out for you, i would appreciate a thumbs up 👍 and mark it as the solution !
    It makes a difference and might help someone else too. Thanks for spreading the good vibes! 🤠

     

    • RevOps608's avatar
      RevOps608
      Icon for Helper II rankHelper II

      Daniel29195 

      thank you! It's working....mostly. It works fine for anything < 100%. Any idea why anything over would throw it off and do you have a solution?

       

    • RevOps608's avatar
      RevOps608
      Icon for Helper II rankHelper II

      It was my FORMAT that was making the difference. Unsure why my % via FORMAT was different then just marking the SWITCH as a %. Maybe it was a text string? 

       

      Thanks