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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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