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

TOPN function in CALCULATE

Hi

I have an interesting problem when trying to create a measure in PBI Desktop.

I have data thats akin to this, which I have used SUMMARIZE to create categories and a count of their respective sales.

Category      COUNT of sales
Apples          32
Kiwi              46

Bananas       65

Oranges       23

Dragon         87

Grapes         54

Mango        126

Cherry         84


There are 8 categories, but I am specifically looking to SUM the Top 5 categories by the amount of the COUNT.

So in my example, I am looking for a measure which will allow me to SUM Mango,Dragon,Cherry,Bananas and Grapes. My expected response is 416 in this example.

Whilst I can easily SUMMARIZE my data and apply the count, I am struggling with how to SUM the specific Top 5 by the COUNT.

Can anyone assist please?

1 ACCEPTED SOLUTION
v-zhangti
Community Support
Community Support

Hi, @powerbiuser9999 

 

You can try the following methods.

  1. Create a new calculation column to rank the COUNT of sales.
Rank = 
RANK.EQ ( [COUNT of sales], 'Table'[COUNT of sales], DESC )

vzhangti_0-1635992326183.png

 

    2. Create a measure to sum the top five.

Measure =
CALCULATE (
    SUM ( 'Table'[COUNT of sales] ),
    FILTER ( ALL ( 'Table' ), 'Table'[Rank] <= 5 )
)

vzhangti_1-1635992386080.png

 

Best Regards,

Community Support Team _Charlotte

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

View solution in original post

5 REPLIES 5
v-zhangti
Community Support
Community Support

Hi, @powerbiuser9999 

 

You can try the following methods.

  1. Create a new calculation column to rank the COUNT of sales.
Rank = 
RANK.EQ ( [COUNT of sales], 'Table'[COUNT of sales], DESC )

vzhangti_0-1635992326183.png

 

    2. Create a measure to sum the top five.

Measure =
CALCULATE (
    SUM ( 'Table'[COUNT of sales] ),
    FILTER ( ALL ( 'Table' ), 'Table'[Rank] <= 5 )
)

vzhangti_1-1635992386080.png

 

Best Regards,

Community Support Team _Charlotte

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

@v-zhangti Charlotte. You star! Thank you!

Hi @YukiK 

Thanks so much for your reply.

This hasn't worked for scenario, but i may have worded this incorrectly.

I am going to start a new question which is better worded, but thank you so much for your time.

YukiK
Impactful Individual
Impactful Individual

Try a measure like this one:

 

YukiK_0-1635775130032.png

 

TOP5 sum of count of sales =
CALCULATE( SUM('Table'[ COUNT of sales] ),
TOPN (
5,
ADDCOLUMNS (
VALUES ( 'Table'[Category     ] ),
"@Count of Sales", CALCULATE( SUM('Table'[ COUNT of sales] ) )
),
[@Count of Sales],
DESC
)
)

 

Please give it a thumbs up if this helps!

Hi @YukiK , this solution works. Arigato!

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.