cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

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
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors