Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Hi,
I try to find a rolling 52 weeks measure. I want to calculate value sales for the previous last 52 weeks (value sales from todays date to the same date last year). I also want to calculate the same measure for one year ago.
I have tried this formula, but I dont know if this is the right one. Do you have any recommendations on this one, @Amit ?
Solved! Go to Solution.
Hi @PowerMarra ,
If only rolling 52 weeks measure,try the following steps:
base data:
Step1, create new column:
weekStart =
var dayOfWeek = WEEKDAY('Table'[Date])
return
'Table'[Date] - dayOfWeek +1
Step2,use the below dax to create weekendnum:
runningMonthIndex =
var MinWeekStart = min('Table'[weekStart])
var weekNumber = roundup((DATEDIFF(MinWeekStart , [Date] , DAY)+1) / 7,0)
return
weekNumber
Step 3,use the below measure to get the sales 52 weeks ago:
test =
CALCULATE (
SUM ( 'Table'[sale] ),
FILTER (
ALL ( 'Table' ),
'Table'[runningMonthIndex]
>= MAX ( 'Table'[runningMonthIndex] ) - 52
&& 'Table'[runningMonthIndex] <= MAX ( 'Table'[runningMonthIndex] )
)
)
Final get:
About this solutions,you could refer: https://community.powerbi.com/t5/Desktop/Rolling-52-week-sales-and-preceding-52-week-sales/m-p/72014...
And if you want to roll by years,try the measurte:
test1 =
CALCULATE (
SUM ( 'Table'[sale] ),
DATESBETWEEN('Table'[Date],
DATE(YEAR(MAX('Table'[Date]))-1,MONTH(MAX('Table'[Date])),DAY(MAX('Table'[Date]))) ,MAX('Table'[Date]))
)
I tested your dax, but the data did not change in the new year:
Wish it is helpful for you!
Best Regards
Lucien
Hi @PowerMarra ,
You could create a slicer to input date then get the sumvalue last 52weeks,Select the date you want to roll back 52 weeks.
Best Regards
Lucien
Hi @PowerMarra ,
If only rolling 52 weeks measure,try the following steps:
base data:
Step1, create new column:
weekStart =
var dayOfWeek = WEEKDAY('Table'[Date])
return
'Table'[Date] - dayOfWeek +1
Step2,use the below dax to create weekendnum:
runningMonthIndex =
var MinWeekStart = min('Table'[weekStart])
var weekNumber = roundup((DATEDIFF(MinWeekStart , [Date] , DAY)+1) / 7,0)
return
weekNumber
Step 3,use the below measure to get the sales 52 weeks ago:
test =
CALCULATE (
SUM ( 'Table'[sale] ),
FILTER (
ALL ( 'Table' ),
'Table'[runningMonthIndex]
>= MAX ( 'Table'[runningMonthIndex] ) - 52
&& 'Table'[runningMonthIndex] <= MAX ( 'Table'[runningMonthIndex] )
)
)
Final get:
About this solutions,you could refer: https://community.powerbi.com/t5/Desktop/Rolling-52-week-sales-and-preceding-52-week-sales/m-p/72014...
And if you want to roll by years,try the measurte:
test1 =
CALCULATE (
SUM ( 'Table'[sale] ),
DATESBETWEEN('Table'[Date],
DATE(YEAR(MAX('Table'[Date]))-1,MONTH(MAX('Table'[Date])),DAY(MAX('Table'[Date]))) ,MAX('Table'[Date]))
)
I tested your dax, but the data did not change in the new year:
Wish it is helpful for you!
Best Regards
Lucien
Thank you! How would you calculate rolling 52 weeks measure for one year ago? I need to see value sales for the last 52 weeks, and last 52 weeks one year ago.
Best regards, Marianne
@PowerMarra , new column in date or calendar
new columns
Week Start date = "Date"[Date]+-1*WEEKDAY("Date"[Date],2)+1 //monday week
Week End date = "Date"[Date]+ 7-1*WEEKDAY("Date"[Date],2)
Week Rank = RANKX(all("Date"),"Date"[Week Start date],,ASC,Dense)
OR
Week Rank = RANKX(all("Date"),"Date"[Year Week],,ASC,Dense) //YYYYWW format
Last 52 weeks = CALCULATE(sum("order"[Qty]), FILTER(ALL("Date"),"Date"[Week Rank]>=max("Date"[Week Rank])-52 && "Date"[Week Rank]<=max("Date"[Week Rank])))
Power BI — Week on Week and WTD
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
https://www.youtube.com/watch?v=pnAesWxYgJ8
Fairly new PBI user. I am also trying to calculate a rolling 52 weeks and then a preceeding 52 weeks to calculate a % change. What formula do you suggest for the preceeding 52 weeks?
Hi @amitchandak, the formula you mentioned Last 52 weeks = CALCULATE(sum("order"[Qty]), FILTER(ALL("Date"),"Date"[Week Rank]>=max("Date"[Week Rank])-52 && "Date"[Week Rank]<=max("Date"[Week Rank]))) only calculates the current 52 weeks and not the preceding 52 weeks, Is there a possibility there is some mistake in the formula? Sorry my PBI skills are still limited
Check out the May 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
User | Count |
---|---|
74 | |
72 | |
71 | |
49 | |
45 |
User | Count |
---|---|
46 | |
38 | |
29 | |
28 | |
28 |