cancel
Showing results 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

Helper I

## Cumulative sum by dates (Even the missing dates)

Hi,

I am using measure to calculate profit across the dates.

This is the data that I am using. Date, Revenue on that date and Cumulative revenue.
Cumulative value even when I choose a particular filter comes correct as per the overall amount.
e.g.,2018 data.

But I would like to plot this on a clustered column chart so I need cumulative sum on all the days.

I use :

Profit over period =
CALCULATE (
[Revenue],
FILTER (
ALL ( Financials ),
Financials[TxnDate] <= MAX ( Financials[TxnDate] )
&& Financials[Source.Name] = SELECTEDVALUE ( Financials[Source.Name] )))

I am getting this data
However, I need this data in this form

I am getting these missing dates in 3rd picture because the overall table does not contain those dates.
Is there any measure or formulae that I can use to get the missing dates.

1 ACCEPTED SOLUTION
Community Support

Hi @shubh25 ,

One sample for your reference, please check the following steps as below.

1. Create a calendar table as below and make it related to the fact table.

`CALENDAR = CALENDAR(DATE(2019,01,01),DATE(2019,01,31))`

2. To create a measure.

`Measure = CALCULATE(SUM('Table'[Revenue]),FILTER(ALL('CALENDAR'),'CALENDAR'[Date]<=MAX('CALENDAR'[Date])))`

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.
5 REPLIES 5
Super User

Hi,

What is the difference between the 3rd and 4th Table?

Regards,
Ashish Mathur
http://www.ashishmathur.com
Community Support

Hi @shubh25 ,

One sample for your reference, please check the following steps as below.

1. Create a calendar table as below and make it related to the fact table.

`CALENDAR = CALENDAR(DATE(2019,01,01),DATE(2019,01,31))`

2. To create a measure.

`Measure = CALCULATE(SUM('Table'[Revenue]),FILTER(ALL('CALENDAR'),'CALENDAR'[Date]<=MAX('CALENDAR'[Date])))`

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.
Helper I

I am trying to do that already. However, rest of the filters are in another table i.e., "Finacials". Is there a way that I can use all and selectedvalue on columns from different tables.
i.e., DATES from CALENDER & SOURCENAME from FINANCIALS.
The DAX expression I am currently using-

Profit over period =
CALCULATE (
[Revenue],
FILTER (
ALL ( Financials ),
Financials[TxnDate] <= MAX ( Financials[TxnDate] )
&& Financials[Source.Name] = SELECTEDVALUE ( Financials[Source.Name] )))
Super User

I would use GENERATESERIES to create a new table with all of the dates you need, or just CALENDAR or CALENDARAUTO perhaps. Then you could use that as your axis.

Become an expert!: Enterprise DNA
External Tools: MSHGQM
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Helper I

Generating all dates for all the data set will create millions of rows which will slow down the pbix significantly.