Forum Discussion
5 YEARS AVERAGE
Hello there,
I hope soemone can help.
I have to claulcate a prior 5 years average based on the max date seleted in date slicer i.e
If max date selected in slicer is 05/06/2021 then I need montlhy based average for last 5 year, i.e 2016 to 2020.
I have calculated that already and only works fine when i select datae filter from 2016 to 2021 and it gives me 2016 to 2020 avg.
But if date in slicers are selected from 2020 to 2021. Then it just gives 1 year average.
My axis in visualization is "Month". I can't select "Before" option on slicer.
The reason I haven't uses Averagex formula because some of dates don;t have any data and I need divide sum in a month by number of days.
Any help will highly be appreciated!
- Anonymous5 years ago
Hi ub2811 ,
Sorry for my late reply.
Here's my demo you can check.
1.Create a calendar table.
2.Create a measure.
5 YEAR AVERAGE = VAR A1 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 1 ) ) VAR A2 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 2 ) ) VAR A3 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 3 ) ) VAR A4 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 4 ) ) VAR A5 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 5 ) ) VAR BB = CALCULATE ( MAX ( 'Calendar'[Days] ), FILTER ( 'Calendar', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) && [Month] = MONTH ( MAX ( 'Date'[Date] ) ) ) ) RETURN DIVIDE ( DIVIDE ( A1, BB ) + DIVIDE ( A2, BB ) + DIVIDE ( A3, BB ) + DIVIDE ( A4, BB ) + DIVIDE ( A5, BB ), 5 )Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
1 Reply
- AnonymousNot applicable
Hi ub2811 ,
Sorry for my late reply.
Here's my demo you can check.
1.Create a calendar table.
2.Create a measure.
5 YEAR AVERAGE = VAR A1 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 1 ) ) VAR A2 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 2 ) ) VAR A3 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 3 ) ) VAR A4 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 4 ) ) VAR A5 = CALCULATE ( SUM ( 'Date'[Unique Month Number] ), FILTER ( 'Date', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) - 5 ) ) VAR BB = CALCULATE ( MAX ( 'Calendar'[Days] ), FILTER ( 'Calendar', YEAR ( [Date] ) = SELECTEDVALUE ( 'Calendar'[Year] ) && [Month] = MONTH ( MAX ( 'Date'[Date] ) ) ) ) RETURN DIVIDE ( DIVIDE ( A1, BB ) + DIVIDE ( A2, BB ) + DIVIDE ( A3, BB ) + DIVIDE ( A4, BB ) + DIVIDE ( A5, BB ), 5 )Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.