cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Helper I

## DAX for rolling 12 month average of previous 12 months

I have a dataset with date that I join to a calendar table, which gives me the date, month, week, etc...

I'm trying to get a 12 month rolling average of sales for the previous 12 months (not counting the current month, so if today is December 12, 2023 I would want the average of the 12 months from December 2022 through November 2023.).

I've tried using Max Date to get the final date to be the end of the previous month (in this example November 30, 2022) but I can't get an average formula to work..

any help is appreciated.

1 ACCEPTED SOLUTION
Super User

Hello @paguy215,

1. Calculate the End of the Previous Month

``````EndOfPreviousMonth =
EOMONTH(TODAY(), -1)
``````

2. Define the 12-Month Period

``````StartOfPeriod =
``````

3. Create the Rolling 12-Month Average Measure

``````Rolling12MonthAvg =
CALCULATE(
AVERAGE('Sales'[SalesAmount]),
DATESBETWEEN(
'Date'[Date],
[StartOfPeriod],
[EndOfPreviousMonth]
)
)
``````

Should you require any further assistance, please do not hesitate to reach out to me.

Did I answer your question? Mark my post as a solution, this will help others!

If my response(s) assisted you in any way, don't forget to drop me a "Kudos" 🙂

Kind Regards,
Sahir Maharaj
Data Scientist | Data Engineer | Data Analyst | AI Engineer
P.S. Want me to build your Power BI solution?
➤ Lets connect on LinkedIn: Join my network of 15K+ professionals
➤ Join my free newsletter: Data Driven: From 0 to 100
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ Want me to build your Power BI solution? Lets chat about how I can assist!
➤ Join my Medium community of 30K readers! Sharing my knowledge about data science and artificial intelligence
➤ Explore my latest project (350K+ views): Wordlit.net
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning
Super User

Hello @paguy215,

1. Calculate the End of the Previous Month

``````EndOfPreviousMonth =
EOMONTH(TODAY(), -1)
``````

2. Define the 12-Month Period

``````StartOfPeriod =
``````

3. Create the Rolling 12-Month Average Measure

``````Rolling12MonthAvg =
CALCULATE(
AVERAGE('Sales'[SalesAmount]),
DATESBETWEEN(
'Date'[Date],
[StartOfPeriod],
[EndOfPreviousMonth]
)
)
``````

Should you require any further assistance, please do not hesitate to reach out to me.

Did I answer your question? Mark my post as a solution, this will help others!

If my response(s) assisted you in any way, don't forget to drop me a "Kudos" 🙂

Kind Regards,
Sahir Maharaj
Data Scientist | Data Engineer | Data Analyst | AI Engineer
P.S. Want me to build your Power BI solution?
➤ Lets connect on LinkedIn: Join my network of 15K+ professionals
➤ Join my free newsletter: Data Driven: From 0 to 100
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ Want me to build your Power BI solution? Lets chat about how I can assist!
➤ Join my Medium community of 30K readers! Sharing my knowledge about data science and artificial intelligence
➤ Explore my latest project (350K+ views): Wordlit.net
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning