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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
johnmelbourne
Helper V
Helper V

Use the value of a customer rank in a card visual

I have a table visual with the following values .... and I want to place the rank of Customer A in a card. That is, the number 2. 

However, obviously when I filter for the customer, it only has one row and therefore ranks 1. 

I want to return the rank of customer A in the content of all the customers. 

5.png

PBIX link: 

https://drive.google.com/file/d/1WuEalnD65nIrCjJJNV95TAnWp6hN7QdW/view?usp=share_link

 

Thanks for any ideas.

 

 

2 ACCEPTED SOLUTIONS
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

I think, in this case, you can try to use ALL, instead of using ALLSELECTED.

 

Jihwan_Kim_0-1671692920750.png

 

 

Rank solution =
IF (
    HASONEVALUE ( Customers[Customer] ),
    IF (
        NOT ( ISBLANK ( [Total sales] ) ),
        RANKX (
            FILTER ( ALL ( 'Customers'[Customer] ), NOT ( ISBLANK ( [Total sales] ) ) ),
            [Total sales]
        )
    ),
    "select one customer"
)

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

View solution in original post

johnmelbourne
Helper V
Helper V

SOLUTION:
 
Rank of customer =
var _tVisibleCustomers =
    CALCULATETABLE(
        FILTER (
            ALLSELECTED ( 'Customers'[Customer] ),
            NOT ( ISBLANK ( [Total sales] ) )
        ))
VAR _sResult = CALCULATE( RANKX( _tVisibleCustomers, [Total sales],,DESC,Dense), Customers[Customer] = "A")                  
Return
_sResult  

View solution in original post

3 REPLIES 3
johnmelbourne
Helper V
Helper V

SOLUTION:
 
Rank of customer =
var _tVisibleCustomers =
    CALCULATETABLE(
        FILTER (
            ALLSELECTED ( 'Customers'[Customer] ),
            NOT ( ISBLANK ( [Total sales] ) )
        ))
VAR _sResult = CALCULATE( RANKX( _tVisibleCustomers, [Total sales],,DESC,Dense), Customers[Customer] = "A")                  
Return
_sResult  
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

I think, in this case, you can try to use ALL, instead of using ALLSELECTED.

 

Jihwan_Kim_0-1671692920750.png

 

 

Rank solution =
IF (
    HASONEVALUE ( Customers[Customer] ),
    IF (
        NOT ( ISBLANK ( [Total sales] ) ),
        RANKX (
            FILTER ( ALL ( 'Customers'[Customer] ), NOT ( ISBLANK ( [Total sales] ) ) ),
            [Total sales]
        )
    ),
    "select one customer"
)

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

Brilliant @Jihwan_Kim !  I didn't think of ALL. 
Thank you @Jihwan_Kim.  I had a solution, but wanted exactly what you gave me. You took it that extra step that I needed and made it dynamic. I like the HASONEVALUE error message solution as well. 
Many thanks.

 

 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Kudoed Authors