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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
TapZxK
Helper II
Helper II

cumulative monthly total

Hi Folks, 

 

I have written a measure that calculates cumulative monthly totals.

 

Total Rolling Expenses =
CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ) )

 

Everything appears ok but i'm getting numbers for the future dates.

Any ideas how to remove values for the months that do not have the data yet. 

 

In the example below the data is available until month of January (Including) but as you can see the line extends until end of year with the same values as the values in January. 

 

TapZxK_0-1644919078086.png

 

BR,

TapZxK

 

1 ACCEPTED SOLUTION

Hi, @TapZxK 

You need to check if the parentheses match. The measure should be changed as:

 

Total Rolling Expenses =
IF (
    MAX ( 'Calendar'[Date] ) <= TODAY (),
    CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ) ),
    BLANK ()
)

 

 

You can also create a measure as below and apply it to visual filter pane to filter data.

 

filter =
IF ( MAX ( 'Calendar'[Date] ) <= TODAY (), 1, 0 )

 

2.png

Best Regards,
Community Support Team _ Eason

View solution in original post

4 REPLIES 4
Meeskass
Helper I
Helper I

Hi, cool solution, but then the yearly total shows Blank() as well. Any idea how to still include the totals when using the IF function?

amitchandak
Super User
Super User

@TapZxK , You can have measures like

 


Total Rolling Expenses =
CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ), 'Calendar'[Date]<=today() )

 

 or

 

Total Rolling Expenses =
if(max('Calendar'[Date]<=today()), CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ), blank())

 

or in place of today use this from you fact Table

var _today = maxx(allselected(Fact), Fact[Date])

Hi @amitchandak


Thanks for your prompt reply as always. 
I tried what You suggested. Unfortunately, it didn't work.

I'm still getting the same results. See Screenshots below. 

There are active 1 - To - Many relationships between Calendate[Date] -> Expenses[Date] Tables. 

 

TapZxK_0-1644933659008.png

 

When trying the below measure I'm getting an error, not sure why though. 

 

Total Rolling Expenses =
if(max('Calendar'[Date]<=today()), CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ), blank())

TapZxK_1-1644933732276.png

 

Best Regards,

TapZxK

Hi, @TapZxK 

You need to check if the parentheses match. The measure should be changed as:

 

Total Rolling Expenses =
IF (
    MAX ( 'Calendar'[Date] ) <= TODAY (),
    CALCULATE ( [Total Historical Expenses], DATESYTD ( 'Calendar'[Date], "8/31" ) ),
    BLANK ()
)

 

 

You can also create a measure as below and apply it to visual filter pane to filter data.

 

filter =
IF ( MAX ( 'Calendar'[Date] ) <= TODAY (), 1, 0 )

 

2.png

Best Regards,
Community Support Team _ Eason

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.