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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Anonymous
Not applicable

Rolling Calculation with Filter

I have a rolling sum calculation as my measure. The measure works fine, but the additonal requirement is to hide the last 7 days of calculated data.  The data older than 7 days should show up even if the slicer on Date column is moved around.

See pbix attached here

 

Moving sum = CALCULATE(SUM(Data[Value]),
                      DATESINPERIOD(Data[Date],LASTDATE(Data[Date]),-7,DAY)
)

 

 The Grand Total also needs to reflect the correct number, which at the moment is incorrectly showing as 7

Any guidance would be really helpful.

 

Adding more detail: 

 The dates from 7-26 to 08-01 should return blank value for the measure, when the latest date is 08-01.  The window of blank data should change from 7-27 to 08-02 the latest date changes to 08-02  In other words, trying to blank out the latest 7 days of data.

andy_pat_0-1600997490850.png

Part 2: 
The "Total" still shows 7. Need to fix that to reflect the correct value.

 

 

Thanks

Andy

1 ACCEPTED SOLUTION

@Anonymous , Try measure like these, see if this can help

measure =
var _max = maxx(all(Date), Date[Date])
return
calculate(if(max(Date[Date]) >=_max-7, blank(), [measure])) // you can use 0 in place blank

 

measure =
var _max = maxx(all(Date), Date[Date])
return
Sumx(values(Date[Date]), if(max(Date[Date]) >=_max-7, blank(), [measure])) // you can use 0 in place blank

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

3 REPLIES 3
amitchandak
Super User
Super User

@Anonymous , not very clear .The information you have provided is not making the problem clear to me. Can you please explain with an example.

Something like this

Moving sum before 7 days= CALCULATE(SUM(Data[Value]),
                      all(Date)) - CALCULATE(SUM(Data[Value]),
                      DATESINPERIOD(Data[Date],mx(Data[Date]),-7,DAY))

 

or

7 Day behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-7,Day))



Appreciate your Kudos.


Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

Thanks. I added a scenario in my post.  The goal is to calculate the moving sum for all dates except the last 7 available dates, as the date range advances each day.

@Anonymous , Try measure like these, see if this can help

measure =
var _max = maxx(all(Date), Date[Date])
return
calculate(if(max(Date[Date]) >=_max-7, blank(), [measure])) // you can use 0 in place blank

 

measure =
var _max = maxx(all(Date), Date[Date])
return
Sumx(values(Date[Date]), if(max(Date[Date]) >=_max-7, blank(), [measure])) // you can use 0 in place blank

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Kudoed Authors