Forum Discussion

Jessica_17's avatar
Jessica_17
Icon for Helper V rankHelper V
2 years ago
Solved

ranking on text column

I have one table, where I want to create rank on basis of text value,
The table is with one column which is sorted like this as shown below, and would like a rank on just this only, there is no corresponding aggregate function, neither any number column for this, Can anyone please help me achieve the desired output.

Input:-

batch
2
3
4
a3
a56
dfg

 

Output:- 

batchrank
21
32
43
a34
a565
dfg6


I have tried these measures, but it is not working,

Measure =
RANKX ( ALL ( 'Table1'[FullName] ), CALCULATE ( SUM ( 'Table1'[Index] ) ) )

It is showing error as data value is exceeded where original data has just 200 rows only.

  • Hi Jessica_17 
    Try to use the measure :

    rank_text = RANKX(ALLSELECTED('Table'[batch]),CALCULATE(max('Table'[batch])),,ASC)
    Result :

    pbix is attached

    If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
  • Ritaf1983's avatar
    Ritaf1983
    2 years ago

    Hi Jessica_17 

    Did you download a pbix and folllowed my steps?

    If yes , please share link to the pbix of yours and i will try to help.

  • you can do this in power query.
    it will be better this way

  • Ritaf1983's avatar
    Ritaf1983
    2 years ago

    Hi Jessica_17 
    What is the ranking's purpose?
    If the rank should be static, you can use Ahmedx's suggestion.
    If the table has duplicate batches.
    You can duplicate the table, remove all unnecessary columns, and add an index column (with power query like in the attached images.
    If the batches are unique you can just add an index.

     

     

    create a relationship 

    And use the index as a needed rank (note that you have duplicates)

     

    if you need it as a dynamic measure :

    Use a measure

    rank_dynamic = RANKX(all('Table'),CALCULATE(max('Table'[batch])),,ASC)

    New pbix is attached

    If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Jessica_17 ,

    You can create a measure as below to get it, please find the details in the attachment.

    Rank = RANKX ( ALL ( 'Table1' ), CALCULATE ( MAX ( 'Table1'[Batch] ) ),, ASC, DENSE )

    Best Regards

  • Dangar332's avatar
    Dangar332
    2 years ago

    hi, Jessica_17 

    try below for measure formula 

    using measure = RANK(DENSE,ALL('Table'[Batch],'Table'[Jobs]),ORDERBY('Table'[Batch],ASC,'Table'[Jobs],ASC))

     

    for column try below

    using column = 
    RANK(DENSE,ALL('Table'[Jobs],'Table'[Batch]),ORDERBY('Table'[Batch],asc,'Table'[Jobs],asc))

     

     

    If this post helps, then please consider Accept it as the solution to help the other members find it

21 Replies

  • you can do this in power query.
    it will be better this way

      • Ahmedx's avatar
        Ahmedx
        Icon for Super User rankSuper User

        to help you, tell us what didn’t work for and where

        show on the screenshot or post the data where the rank is violated

  • Hi Jessica_17 
    Try to use the measure :

    rank_text = RANKX(ALLSELECTED('Table'[batch]),CALCULATE(max('Table'[batch])),,ASC)
    Result :

    pbix is attached

    If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
      • Ritaf1983's avatar
        Ritaf1983
        Icon for Super User rankSuper User

        Hi Jessica_17 

        Did you download a pbix and folllowed my steps?

        If yes , please share link to the pbix of yours and i will try to help.

  • Dangar332's avatar
    Dangar332
    Icon for Resident Rockstar rankResident Rockstar

    Hi, Jessica_17 
    try below

    just adjust table and column name

     

     

     

    Measure 4 = RANKX(all('Table (2)'[batch]),'Table (2)'[batch],MIN('Table (2)'[batch]),ASC)

     

     

     

     

    • Jessica_17's avatar
      Jessica_17
      Icon for Helper V rankHelper V

      Hi Dangar332 
      by using your solution I am getting count from 62, maybe because I have added other columns too. can this be changed irrespective of other column values too or by any other tables filter too.