cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
asalazarjr
Frequent Visitor

Cumulative % of Total Measure

Hey All,

Was wondering if anyone could help me create a measure to dynamically calculate Cumulative % of Total Revenue.

ProductTotal RevenueProduct Rank% of TotalCumulative % of Total
Product 1 $        100,000130%30%
Product 2 $          75,000223%53%
Product 3 $          50,000315%68%
Product 4 $          25,00048%76%
Product 5 $          20,00056%82%
Product 6 $          18,00065%87%
Product 7 $          15,00075%92%
Product 8 $          10,00083%95%
Product 9 $            9,00093%98%
Product 10 $            8,000102%100%
Total $        330,0001100%100%


I created this measure:

Cumulative % of Revenue =
VAR SalesRT= Calculate(SUM(Table1[Revenue]),FILTER(
ALLSELECTED(Table1[Product]),
ISONORAFTER(Table1[Product],MAX(Table1[Product]),DESC)))
VAR totSales= CALCULATE(SUM(Table1[Revenue]),ALLSELECTED(Table1))

Return
Divide(SalesRT,totSales,0)
This measure worked, but its returning Cumulative % of Total based on Default table sorting, and not by Revenue rank. If anyone has any idea how to alter this, or a different measure that would be greatly appreciated!

Thanks in advance!


1 ACCEPTED SOLUTION
AlexisOlson
Super User
Super User

You need to sort by Total Revenue rather than by product.

 

Try this:

Cumulative % of Revenue =
VAR MinRevenue = MINX ( VALUES ( Table1[Product] ), [Total Revenue] )
VAR SalesRT =
    CALCULATE (
        SUM ( Table1[Revenue] ),
        FILTER ( ALLSELECTED ( Table1[Product] ), [Total Revenue] >= MinRevenue )
    )
VAR totSales = CALCULATE ( SUM ( Table1[Revenue] ), ALLSELECTED ( Table1 ) )
RETURN
    DIVIDE ( SalesRT, totSales, 0 )

View solution in original post

1 REPLY 1
AlexisOlson
Super User
Super User

You need to sort by Total Revenue rather than by product.

 

Try this:

Cumulative % of Revenue =
VAR MinRevenue = MINX ( VALUES ( Table1[Product] ), [Total Revenue] )
VAR SalesRT =
    CALCULATE (
        SUM ( Table1[Revenue] ),
        FILTER ( ALLSELECTED ( Table1[Product] ), [Total Revenue] >= MinRevenue )
    )
VAR totSales = CALCULATE ( SUM ( Table1[Revenue] ), ALLSELECTED ( Table1 ) )
RETURN
    DIVIDE ( SalesRT, totSales, 0 )

Helpful resources

Announcements
Power BI Show Episode 10 Recap

The Power BI Community Show

Watch the playback when Amit Chandak, a Power BI Super User, demos how to use Field Parameters to make reports more dynamic.

Power BI Dev Camp Session 26

New Date - Check it Out!

Mark your calendars and join us on Thursday, October 6 at 11a PDT for a great session with Ted Pattison!

Health and Life Sciences Power BI User Group

Health and Life Sciences Power BI User Group

Power BI specialists at Microsoft have created a community user group where customers in the provider, payor, pharma, health solutions, and life science industries can collaborate.

Ignite 2022

What's Next at Microsoft Ignite 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Top Solution Authors