Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreJoin the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now
Hello,
I have a fact table with a relationship to a calendar table marked as Date table. Relation ship is one to n based on a date column.
I can create time intelligence clculations like YTD, Previsous year, previos period but I cannot create a running total that would work between two dates, i.e. If I select March to October of one of the year in the table I want to see the cumulative total starting with March value and ending in October as a running total.
It will not work, I tried several calculations, it is just replicating the value for the line not calculating the running total.
Formula 1
PTD Amount USD:=CALCULATE (
SUM(Bol[AmountUSD]);
FILTER (
ALL('Sailing Date'[Sailing Date]) ;
'Sailing Date'[Sailing Date] >= MIN('Sailing Date'[Sailing Date] )&&
'Sailing Date'[Sailing Date] <= MAX ('Sailing Date'[Sailing Date])))
Formula 2
Cumulative = CALCULATE (
SUM(Bol[AmountUSD]),
FILTER (
ALLSELECTED( 'BOL' ),
'Bol'[Sailing Date] >=MIN ('Sailing Date'[Sailing Date])&&
'Bol'[Sailing Date] <= MAX ( 'Bol'[Sailing Date] )))
I am not sure where to look at to find what is preventing these formulas to work as expected.
Any idea is appreciated, Thanks
Solved! Go to Solution.
Hello,
Thanks for all your suggestions. I finally found a way to calculate this running total using a formula like this one.
Cumulative Dollar :=
IF (
MIN ( 'Dim_Calendar'[ID_Date] )
<= CALCULATE ( MAX ( BOL[Sailing_Date_Key] ), ALL ( BOL ) );
CALCULATE(SUM(Bol[AmountUSD]),
Filter(
ALLSELECTED('Dim_Calendar'),'Dim_Calendar'[DateASDate]<=MAX('Dim_Calendar'[DateASDate])))
)Which produces exactly the result I want
YYYYWK AmountUSD Cumulative
| 201846 | 1'327'243 | 1'327'243 |
| 201847 | 1'192'890 | 2'520'134 |
| 201848 | 1'604'916 | 4'125'049 |
| 201849 | 745'256 | 4'870'306 |
| 201850 | 20'792 | 4'891'098 |
| 201851 | 4'891'098 | |
| 201852 | 4'891'098 | |
| 201901 | 4'891'098 | |
| 201902 | 4'891'098 | |
| 201903 | 4'891'098 | |
| 201904 | 4'891'098 | |
| 201905 | 4'891'098 | |
| 201906 | 4'891'098 | |
| 201907 | 32'834 | 4'923'932 |
| 201908 | 4'923'932 | |
| 201909 | 4'923'932 |
Hi @Anonymous,
Try this formula, please. The cause is the initial date is dynamic.
Measure 7 = VAR minDate = CALCULATE ( MIN ( 'Sailing Date'[Sailing Date] ), ALLSELECTED ( 'Sailing Date'[Sailing Date] ) ) RETURN CALCULATE ( Bol[AmountUSD], FILTER ( ALL ( 'Sailing Date'[Sailing Date] ), 'Sailing Date'[Sailing Date] >= minDate && 'Sailing Date'[Sailing Date] <= MAX ( 'Sailing Date'[Sailing Date] ) ) )
Best Regards,
Dale
My running total should not have Running Total with date on rows.
I should use Month Year. Format "May 2019".
As the solution use:
ALLSELECTED ( 'Sailing Date'[Sailing Date] )
ALL ( 'Sailing Date'[Sailing Date] ),
I change to
ALLSELECTED ( 'Sailing Date') Without the column.
ALL ( 'Sailing Date') Without the column.
So it doesn't matter which column from calender table Used on rows, the Running Total will Work.
v-jiascu-msft/Dale , Thank you for your support and also Anonymous for creating the Post.
Best Regards
Amdi
The code is:
Measure 7.2 =
VAR minDate =
CALCULATE (
MIN ( 'Date_2'[Date] );
ALLSELECTED ( Date_2)
)
RETURN
CALCULATE (
[Sales Amount];
FILTER (
ALL ('Date_2' );
'Date_2'[Date] >= minDate
&& 'Date_2'[Date] <= MAX ( 'Date_2'[Date] )
)
)
Hello,
I was able to get the running total calculation working. I can now select any time period and get the running total starting at the begining of the period.
PTD Amount USD:=
IF (
MIN ('Sailing Date'[date_key])
<= CALCULATE ( MAX ( BOL[Sailing_Date_Key] ); ALL (Bol ) );
CALCULATE(SUM(Bol[AmountUSD]);
Filter(
ALLSELECTED('Sailing Date');'Sailing Date'[Sailing Date]<=MAX('Sailing Date'[Sailing Date])))
) The result is like that
YYYYWK AmountUSD Cumulative
| 201846 | 1'327'243 | 1'327'243 |
| 201847 | 1'192'890 | 2'520'134 |
| 201848 | 1'604'916 | 4'125'049 |
| 201849 | 745'256 | 4'870'306 |
| 201850 | 20'792 | 4'891'098 |
| 201851 | 4'891'098 | |
| 201907 | 32'834 | 4'923'932 |
| 201908 | 4'923'932 | |
| 201909 | 4'923'932 |
Hello,
Thanks for all your suggestions. I finally found a way to calculate this running total using a formula like this one.
Cumulative Dollar :=
IF (
MIN ( 'Dim_Calendar'[ID_Date] )
<= CALCULATE ( MAX ( BOL[Sailing_Date_Key] ), ALL ( BOL ) );
CALCULATE(SUM(Bol[AmountUSD]),
Filter(
ALLSELECTED('Dim_Calendar'),'Dim_Calendar'[DateASDate]<=MAX('Dim_Calendar'[DateASDate])))
)Which produces exactly the result I want
YYYYWK AmountUSD Cumulative
| 201846 | 1'327'243 | 1'327'243 |
| 201847 | 1'192'890 | 2'520'134 |
| 201848 | 1'604'916 | 4'125'049 |
| 201849 | 745'256 | 4'870'306 |
| 201850 | 20'792 | 4'891'098 |
| 201851 | 4'891'098 | |
| 201852 | 4'891'098 | |
| 201901 | 4'891'098 | |
| 201902 | 4'891'098 | |
| 201903 | 4'891'098 | |
| 201904 | 4'891'098 | |
| 201905 | 4'891'098 | |
| 201906 | 4'891'098 | |
| 201907 | 32'834 | 4'923'932 |
| 201908 | 4'923'932 | |
| 201909 | 4'923'932 |
I had the same problem, it worked perfectly, thank you.
Can you please share a sample data?
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 48 | |
| 46 | |
| 41 | |
| 20 | |
| 17 |
| User | Count |
|---|---|
| 69 | |
| 67 | |
| 32 | |
| 27 | |
| 26 |