Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe 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.
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.
Part 2:
The "Total" still shows 7. Need to fix that to reflect the correct value.
Thanks
Andy
Solved! Go to 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
@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.
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
User | Count |
---|---|
121 | |
69 | |
67 | |
57 | |
50 |
User | Count |
---|---|
176 | |
83 | |
69 | |
65 | |
54 |