Forum Discussion

Vladracs's avatar
Vladracs
Helper I
3 years ago
Solved

Simple Ranking

Hi Experts, 

Im a newbie here, so I tried some online article, but failed 😕

I am looking to create a ranking for each year, per Customer based on Sale Size for each Sale Type:

 

 

Sample Table and Ranking ( I repeat every year the same, but of course they could have been different 🙂 )

 

 

 

DateCustomerSale TypeSale SizeRanking
202211103
202221151
202231132
202212203
202222222
202232251
202213361
202223343
202233352
202111103
202121151
202131132
202112203
202122222
202132251
202113361
202123343
202133352
202011103
202021151
202031132
202012203
202022222
202032251
202013361
202023343
202033352
  • this works for a Table visual:

    Table Rank = if(ISINSCOPE('Table'[Date]),RANKX(ALLSELECTED('Table'[Date],'Table'[Customer],'Table'[Sale Type]),calculate(sum('Table'[Sale Size])),,DESC,Dense))

     

    This works for a matrix visual

    Rank =
    VAR yearrank = RANKX(ALLSELECTED('Table'[Date]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
    VAR custrank = RANKX(ALLSELECTED('Table'[Customer]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
    VAR typerank = RANKX(ALLSELECTED('Table'[Sale Type]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
    RETURN
    SWITCH(TRUE(),ISINSCOPE('Table'[Sale Type]),typerank,ISINSCOPE('Table'[Customer]),custrank,
    ISINSCOPE('Table'[Date]),yearrank)

7 Replies

    • Vladracs's avatar
      Vladracs
      Helper I

      Almost! Actually a better vid from here would be: https://www.youtube.com/watch?v=y2FFjfRD-Bo

      however, the ranking is not really working. 

       Not sure if this is because I am trying to filter on the date as well...
      Total Size = SUM(Table[Size])
      Ranking = RANKX (ALLSELECTED(Table[Customer]),[Total Size],,DESC,Dense)

      • Padycosmos's avatar
        Padycosmos
        Solution Sage

        this works for a Table visual:

        Table Rank = if(ISINSCOPE('Table'[Date]),RANKX(ALLSELECTED('Table'[Date],'Table'[Customer],'Table'[Sale Type]),calculate(sum('Table'[Sale Size])),,DESC,Dense))

         

        This works for a matrix visual

        Rank =
        VAR yearrank = RANKX(ALLSELECTED('Table'[Date]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
        VAR custrank = RANKX(ALLSELECTED('Table'[Customer]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
        VAR typerank = RANKX(ALLSELECTED('Table'[Sale Type]),Calculate(SUM('Table'[Sale Size])),,DESC,Dense)
        RETURN
        SWITCH(TRUE(),ISINSCOPE('Table'[Sale Type]),typerank,ISINSCOPE('Table'[Customer]),custrank,
        ISINSCOPE('Table'[Date]),yearrank)

  • I don't see Sales_Type.  Please provide sample data that matches your description. Please indicate expected outcome.

    • Vladracs's avatar
      Vladracs
      Helper I

      Sorry for the confusing post, Ive re-edit, which should make it more clear.