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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
cwilson
New Member

Pie Chart of Top 8 with Other Filtered by Product and Date

I'm trying to build a pie chart by filtering a larger table that gives me sum of a selected product ranked to the top 8 countries with the  remainder in "other." The full table includes all countries, about 20 different products going back monthly about 20 years and I am trying to create a pie chart of export volumes totaled by filtered products for a selected month or period of time. Currently I'm manually grouping them each month but is there a way to dynamically rank each country based on the filters applied and show the top 8 plus the rest as Other?

 

 

 

cwilson_0-1665590171771.png

1 ACCEPTED SOLUTION
v-easonf-msft
Community Support
Community Support

Hi, @cwilson 

Please try follow steps:

1. build a calculated table like:

Pseudo Table = 
UNION(
    DISTINCT('Table'[Country]),
    DATATABLE("Country",STRING,{{"Others"}})
)

veasonfmsft_0-1665653259681.png

2. Then try measure like:

Top 2 Sum Sales = 
VAR TopNSelected = 2
VAR TopCountryTable = 
    TOPN(
        TopNSelected,
        ALLSELECTED('Pseudo Table'),
        [Value]
    )
VAR TopCountrySales =
    CALCULATE(
         [Value],
        KEEPFILTERS( TopCountryTable  )
    )
VAR OtherSales = 
    CALCULATE(
         [Value],
        ALLSELECTED('Pseudo Table')
    ) - 
    CALCULATE(
         [Value],
        TopCountryTable 
    )
VAR CurrentProd = SELECTEDVALUE('Pseudo Table'[Country])
RETURN
    IF(
        CurrentProd <> "Others",
        TopCountrySales,
        OtherSales
    )

veasonfmsft_2-1665653481074.png

Please refer to  the following tutorial for more details.

https://goodly.co.in/top-n-and-others-power-bi/ 

 

Best Regards,
Community Support Team _ Eason

View solution in original post

1 REPLY 1
v-easonf-msft
Community Support
Community Support

Hi, @cwilson 

Please try follow steps:

1. build a calculated table like:

Pseudo Table = 
UNION(
    DISTINCT('Table'[Country]),
    DATATABLE("Country",STRING,{{"Others"}})
)

veasonfmsft_0-1665653259681.png

2. Then try measure like:

Top 2 Sum Sales = 
VAR TopNSelected = 2
VAR TopCountryTable = 
    TOPN(
        TopNSelected,
        ALLSELECTED('Pseudo Table'),
        [Value]
    )
VAR TopCountrySales =
    CALCULATE(
         [Value],
        KEEPFILTERS( TopCountryTable  )
    )
VAR OtherSales = 
    CALCULATE(
         [Value],
        ALLSELECTED('Pseudo Table')
    ) - 
    CALCULATE(
         [Value],
        TopCountryTable 
    )
VAR CurrentProd = SELECTEDVALUE('Pseudo Table'[Country])
RETURN
    IF(
        CurrentProd <> "Others",
        TopCountrySales,
        OtherSales
    )

veasonfmsft_2-1665653481074.png

Please refer to  the following tutorial for more details.

https://goodly.co.in/top-n-and-others-power-bi/ 

 

Best Regards,
Community Support Team _ Eason

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors