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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
hill
Helper I
Helper I

Exclude specific values from top n

Hi all,

I want to calculate the sales of top 5 companies as % of total, alll things worked well, but I found I have name "Others" as a company name. I want to exclude it from the top 5 companies, so the top 5 would only count those with meaningful names, such as Apple or Google. But I also want to keep the data of "Others" in the total number, so I can calculate the concentration ratio of companies. 

 

In this case, simply putting a filter to exclude "Others" is not working.

Here is my current calculation:

 

Top 5 Concentration = DIVIDE(CALCULATE([Sales],topn(5,GROUPBY(data,data[companyname]),[Sales])),CALCULATE([Sales],ALLSELECTED(data[companyname])))
 

Could anyone help? Thanks a lot!

2 ACCEPTED SOLUTIONS

@hill , Try to create a measure like this and rank/TOPN on that

 

new sales =calculate([Sales], filter(data, data[companyname] <> "Others"))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

mahoneypat
Microsoft Employee
Microsoft Employee

Please try this expression instead.

 

Top 5 Concentration =
DIVIDE (
    CALCULATE (
        [Sales],
        TOPN (
            5,
            FILTER (
                VALUES ( data[companyname] ),
                data[companyname] <> "Others"
            ),
            [Sales], DESC
        )
    ),
    CALCULATE (
        [Sales],
        ALLSELECTED ( data[companyname] )
    )
)

 

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

6 REPLIES 6
mahoneypat
Microsoft Employee
Microsoft Employee

Please try this expression instead.

 

Top 5 Concentration =
DIVIDE (
    CALCULATE (
        [Sales],
        TOPN (
            5,
            FILTER (
                VALUES ( data[companyname] ),
                data[companyname] <> "Others"
            ),
            [Sales], DESC
        )
    ),
    CALCULATE (
        [Sales],
        ALLSELECTED ( data[companyname] )
    )
)

 

Regards,

Pat





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Thank you! that is really great

amitchandak
Super User
Super User

@hill , refer for TOPN with Others

https://blog.gbrueckl.at/2019/05/power-bi-dynamic-topn-others-with-drill-down/

 

Refer TOPN : https://www.youtube.com/watch?v=QIVEFp-QiOk

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Thank you for your reply, but I am afraid that you are not answering my question.

 

"Others" is a company name, not a remaining part of top 5. Instead, it's part of top 5

"Others" is the aggregation of all small companies. So it can be very large to be top 1 in the category

@hill , Try to create a measure like this and rank/TOPN on that

 

new sales =calculate([Sales], filter(data, data[companyname] <> "Others"))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Thank you very much! it works for me 

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors