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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
alexrf86
Helper III
Helper III

cumulative sum without date

Hi! I need to identify the most sold products which represent 80% of my sales. For instance:

 

PRODUCT           SALES           CUMULATIVE SALES

A                           50                             50

B                           20                             70

C                          10                              80

D                           8                              88

E                           7                               95 

F                           5                              100

 

Therefore, products A, B and C represents 80% of my sales.

 

I am able to get cumulative sales with a date dimension, but for this exercise, date is not taken into account.

 

Regards.

1 ACCEPTED SOLUTION

@alexrf86 

Cumulative is based on the sort order , You can sort on sales

Cumm1 = CALCULATE(sum('product'[SALES]),FILTER(all('product'),'product'[SALES]>=MAX('product'[SALES])))

 

Better you create a dense rank and use that. New column

rank = ranks(all(Product),Product[sales],,asc,dense)

 

Use rank in last formula

 

 

View solution in original post

12 REPLIES 12
amitchandak
Super User
Super User

@alexrf86 ,

Can you try like

 

Cumm Sales = CALCULATE(SUM(Table[Sales]),filter(Table,Table[PRODUCT] <=maxx(Table,Table[PRODUCT])))
Cumm Sales = CALCULATE(SUM(Table[Sales]),filter(Table,Table[PRODUCT] <=max(Table[PRODUCT])))

 

 

You can also use the quick measure to create running total

Thanks for your answer but none of your measures cumulate sales. All of them only show up Sales without cumulation

Try with all. Have you tried quick measure

Cumm Sales = CALCULATE(SUM(Table[Sales]),filter(all(Table),Table[PRODUCT] <=maxx(Table,Table[PRODUCT])))
Cumm Sales = CALCULATE(SUM(Table[Sales]),filter(all(Table),Table[PRODUCT] <=max(Table[PRODUCT])))

 

https://docs.microsoft.com/en-us/power-bi/desktop-quick-measures

 

Sorry but none works:

 

Cumm Sales maxx = CALCULATE(SUM(SALES[SALES]);filter(SALES;SALES[PRODUCT]<=maxx(SALES;SALES[PRODUCT])))
 
Cumm Sales max = CALCULATE(SUM(SALES[SALES]);filter(SALES;SALES[PRODUCT]<=max(SALES[PRODUCT])))
 
quick measure.PNGcumulative.PNG

@alexrf86 , I think the last column is working, sort on product and check . Also you can move product in separate Tale and join on the product and try

Cumm Sales max = CALCULATE(SUM(SALES[SALES]);filter(All(Product;Product[PRODUCT]<=max(Product[PRODUCT])))

@amitchandak Thanks for your answer but I need to identify the most sold products, so I need to start cumulating from the most sold to the least sold product.

 

Creating a new table for Product gives me the same result.

 

@alexrf86 , Please find the attached solution

 

@amitchandak I really appreciate your help but your measure works because A is the most sold product and F is the least sold product.

 

If you change the product names to other which do not meet the alphabet order, the formula does not work. For instance:

 

Captura.PNG

 

May you please try with these product names?

 

Thanks in advance

@alexrf86 

Cumulative is based on the sort order , You can sort on sales

Cumm1 = CALCULATE(sum('product'[SALES]),FILTER(all('product'),'product'[SALES]>=MAX('product'[SALES])))

 

Better you create a dense rank and use that. New column

rank = ranks(all(Product),Product[sales],,asc,dense)

 

Use rank in last formula

 

 

@amitchandak This is the measure I was looking for!

 

Cumm1 = CALCULATE(sum('product'[SALES]),FILTER(all('product'),'product'[SALES]>=MAX('product'[SALES])))

 

Thanks a million! 

This is a standard pattern. You can read about it here https://www.daxpatterns.com/abc-classification-dynamic/



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Sorry but this example does not fit as my exercise has only one table with these two columns. I just need to set up cumulative sales

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.