Here is how to do it:
If you can connect to a SQL Server database, I create this by adding a table "Last Updated" with the following SQL as source (This also tells the users how new the data is):
This method is preferred to simply using the Today() formula in a linked table because your source data may not be refreshed daily. For example, we have some financial dashboards that are only refreshed once per month on the first day of the month.
Next, on your Fact table that you are going to use to create the rolling average (or whatever rolling metric you desire), add the following Calculated Measures to determine start and end dates for the rolling year ([last updated date] - [12 months]):
The formula below has multiple parts that I will explain:
=Calculate(expression, filter1, filter2..)
=Filter(TableName, TableName[Filter Criteria])
"&&" - This allows you to use an "AND" in your Filter Criteria. Example: Event Date is >= RollingYearBegin "AND" Event Date is <= RollingYearEnd - This ensures your data is between the start and end date. You can also include a column to qualify the event to be included by simply adding another "&&"
The final part of the formula &&FactTableName[QualifyingEventColumn]="Y" was required in my case because not all of the rows in my dataset qualified to be included in the average. This is not required to make this formula work.
So, now that you are an expert in rolling year formulas, go out and impress the world!