Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
eyeball
Frequent Visitor

Using Rank in a table

Hi,

I'm trying to get to grips with the RANK function but I seem to be having a bit of trouble getting it to work.  I have a table that stores opportunities for both contacts and companies and I would like to get the top ten ranked opportunites for companies only.  To complicate matters slightly, the value column may hold NULL, 0.00 or a positive value (such as 124.16)

 

So the table would look a little like this:

 

accountid   contactid   value

1                 Null           12

2                 Null           0.00

Null            1                3

3                 Null           Null

4                 Null           45

Null            2                23

5                 Null           2.3

 

The output that I would like to achieve is:

 

accountid   value   rank

4                 45       1

1                 12       2

5                 2.3      3

etc.

 

Any help would be greatly apreciated!

 

1 ACCEPTED SOLUTION
Vvelarde
Community Champion
Community Champion

@eyeball

 

hi, please try this: (Is a @Sean version with little changes)

 

Ranking =
IF (
    FIRSTNONBLANK ( Table1[AccountId], Table1[AccountId] ) <> BLANK (),
    RANKX (
        FILTER ( ALL ( Table1 ), Table1[AccountId] <> BLANK () ),
        CALCULATE ( SUM ( Table1[Value] ) )
    )
)

 




Lima - Peru

View solution in original post

4 REPLIES 4
Sean
Community Champion
Community Champion

@eyeball

 

How about this...

Rank Measure =
IF (
    HASONEVALUE ( 'Table'[accountid] ),
    IF (
        ISBLANK ( MIN ( 'Table'[accountid] ) ),
        BLANK (),
        RANKX (
            FILTER ( ALL ( 'Table' ), 'Table'[accountid] <> BLANK () ),
            CALCULATE ( SUM ( 'Table'[value] ) )
        )
    )
)

Here's the result...

 

Rank Measure No Blanks.png

 

Good Luck! Smiley Happy

 

EDIT: @Vvelarde's IF (... below takes care of the text format @eyeball

(the Rank itself remains the same just the condition is changed)

 

Rank Measure No Blanks2.png

Thanks for this!! I've been trying to get Rank to work for a while now and this soution was perfect.

eyeball
Frequent Visitor

Hi Sean,

Many Thanks for this, it looks good!  The only problem I've got now is that the Id is actually a guid (sorry, should have mentioned that) so the min function is seeing it as a string...

Vvelarde
Community Champion
Community Champion

@eyeball

 

hi, please try this: (Is a @Sean version with little changes)

 

Ranking =
IF (
    FIRSTNONBLANK ( Table1[AccountId], Table1[AccountId] ) <> BLANK (),
    RANKX (
        FILTER ( ALL ( Table1 ), Table1[AccountId] <> BLANK () ),
        CALCULATE ( SUM ( Table1[Value] ) )
    )
)

 




Lima - Peru

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors