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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Anonymous
Not applicable

TopN and Ranking

Hello 

 

I have a set of data, as below.  I need to achieve the following:

  • summarise the customers
  • total the sales for each customer
  • rank the customer by total sales
  • put any customer outside top 2 as "other"

Finally, I need the table/rank to change if my slicer of vendor, for example, changes.

 

Any ideas?  

 

Thanks 

 

Data example:

 

Customer            Sales             Vendor

a                            100                    a

a                            100                    a

a                            100                    a

b                            100                    b

b                             50                    a

b                            100                    b

c                              10                    c

c                              50                    a

c                            100                    a

d                             90                    b

d                             20                    c

d                             60                    a

e                            100                    c

e                              75                    b

e                              50                    b

f                               40                    a

f                               90                    c

f                               75                    b

 

1 ACCEPTED SOLUTION
LivioLanzo
Solution Sage
Solution Sage

@Anonymous

 

Hello @Anonymous,

 

you need to build the below simple model

 

and add the below measures:

 

TotalSales = SUM( Sales[Sales] )
 
Customer Rank = 
IF(
    COUNTROWS( Sales ) > 0,
    VAR Ranking = 
    IF(
        HASONEVALUE( Customers[Customer] ),
        RANKX(
            ALLSELECTED( Customers[Customer] ),
            [TotalSales],,DESC
        )
    )
    RETURN IF( Ranking < 3, Ranking, "Other" )
)

 

Capture.PNG

 
Capture.PNG

 


 


Did I answer your question correctly? Mark my answer as a solution!


Proud to be a Datanaut!  

View solution in original post

1 REPLY 1
LivioLanzo
Solution Sage
Solution Sage

@Anonymous

 

Hello @Anonymous,

 

you need to build the below simple model

 

and add the below measures:

 

TotalSales = SUM( Sales[Sales] )
 
Customer Rank = 
IF(
    COUNTROWS( Sales ) > 0,
    VAR Ranking = 
    IF(
        HASONEVALUE( Customers[Customer] ),
        RANKX(
            ALLSELECTED( Customers[Customer] ),
            [TotalSales],,DESC
        )
    )
    RETURN IF( Ranking < 3, Ranking, "Other" )
)

 

Capture.PNG

 
Capture.PNG

 


 


Did I answer your question correctly? Mark my answer as a solution!


Proud to be a Datanaut!  

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.