Skip to main content
cancel
Showing results for 
Search instead 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

Reply
paguy215
Helper I
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
Sahir_Maharaj
Super User
Super User

Hello @paguy215,

 

Can you please try this:

 

1. Calculate the End of the Previous Month

EndOfPreviousMonth = 
EOMONTH(TODAY(), -1)

2. Define the 12-Month Period

StartOfPeriod = 
STARTOFMONTH(DATEADD('Date'[Date], -12, MONTH))

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
➤ 100+ FREE Power BI Themes: Download Now
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning

View solution in original post

1 REPLY 1
Sahir_Maharaj
Super User
Super User

Hello @paguy215,

 

Can you please try this:

 

1. Calculate the End of the Previous Month

EndOfPreviousMonth = 
EOMONTH(TODAY(), -1)

2. Define the 12-Month Period

StartOfPeriod = 
STARTOFMONTH(DATEADD('Date'[Date], -12, MONTH))

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
➤ 100+ FREE Power BI Themes: Download Now
LinkedIn Top Voice in Artificial Intelligence, Data Science and Machine Learning

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

July Newsletter

Fabric Community Update - July 2024

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

Top Solution Authors
Top Kudoed Authors