Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
pan
Frequent Visitor

IF plus Rolling Average?

Hi!

 

I have current (2017) annual data that I have to compare against a 3 year rolling average for volume by product. However, for some products, there isn't always annual data available, i.e., some products have data for 2016 but not for 2015, etc. 

 

For ex:

2017, Product A, Country A, Volume

2017, Product B, Country A, Volume

2017, Product C, Country A, Volume

2016, Product A, Country A, Volume

2016, Product B, Country A, Volume

2015, Product A, Country A, Volume

2014, Product A, Country A, Volume

2014, Product C, Country A, Volume

 

In such case, only product A should have a rolling average which I will then compare with current year volume.

 

PS. Not pressing but can the same process be extended per country as well?

 

Can somebody help? I'm fairly new to Power BI. Thanks!

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@pan,

What DAX formula do you use to calculate rolling average? I make a test using the following DAX to calculate rolling average, the rolling average measure returns value even some products have no data for 2015. And when you create visuals using different legend level(Product or County) with this measure, the measure returns expected values.

{Base value} rolling average = 
IF(
 ISFILTERED({Date}),
 ERROR("Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy."),
 VAR __LAST_DATE =
  LASTDATE({Date}.[Date])
 RETURN
  AVERAGEX(
   DATESBETWEEN(
    {Date}.[Date],
    DATEADD(__LAST_DATE, {Periods Before}, {Period}),
    DATEADD(__LAST_DATE, {Periods After}, {Period}),
   ),
   CALCULATE({Base value})
  )
)

1.JPG


Reference:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Rolling-Average/m-p/160720

Regards,
Lydia

View solution in original post

1 REPLY 1
Anonymous
Not applicable

@pan,

What DAX formula do you use to calculate rolling average? I make a test using the following DAX to calculate rolling average, the rolling average measure returns value even some products have no data for 2015. And when you create visuals using different legend level(Product or County) with this measure, the measure returns expected values.

{Base value} rolling average = 
IF(
 ISFILTERED({Date}),
 ERROR("Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy."),
 VAR __LAST_DATE =
  LASTDATE({Date}.[Date])
 RETURN
  AVERAGEX(
   DATESBETWEEN(
    {Date}.[Date],
    DATEADD(__LAST_DATE, {Periods Before}, {Period}),
    DATEADD(__LAST_DATE, {Periods After}, {Period}),
   ),
   CALCULATE({Base value})
  )
)

1.JPG


Reference:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Rolling-Average/m-p/160720

Regards,
Lydia

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.