Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

12 month rolling sum

I'm currently trying to get a 12 month rolling sum for each month.

YearMonthCount12 Month Rolling
2017November2020
2017December2525
2018January3030
2018February4545
2018March2222
2018April5050
2018May3535
2018June00
2018July55
2018August1010
2018September4040
2018October3636
2018November1414
2018December2020
2019January3131
2019February2020

 

 

The measure I'm using to get this is:

12 Month Rolling= 
VAR NumberofMonths= 12
VAR LastCurrentDate= MAX (Sheet1[Date])
VAR Period = DATESINPERIOD(Sheet1[Date],LastCurrentDate,-NumberofMonths,YEAR)
VAR Result = CALCULATE((DISTINCTCOUNT(Sheet1[Count])),Period)
VAR FirstDateInPeriod = MINX(Period,Sheet1[Date])
VAR LastDateWithSales = MAX(Sheet1[Date])

RETURN
IF(FirstDateInPeriod <= LastDateWithSales,Result)  

 

However I was hoping to have the sum in the 12 month rolling column like this:

 

YearMonthCount12 Month Rolling
2017November20332
2017December25332
2018January30338
2018February45328
2018March22283
2018April50261
2018May35211
2018June0176
2018July5176
2018August10171
2018September40161
2018October36121
2018November1485
2018December2071
2019January3151
2019February2020

 

Any help on getting this rolling sum over 12 months would be greatly appreciated.

 

Thanks in advance

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi Anonymous ,

     

    You could add a date column in the table.

    date = DATE('Table'[Year],'Table'[number of Month],1)

    Then create a measure as below.

    Measure = CALCULATE(SUM('Table'[Count]),FILTER(ALLSELECTED('Table'),'Table'[date]>=SELECTEDVALUE('Table'[date])&&'Table'[date]<=EDATE(SELECTEDVALUE('Table'[date]),12)))

     

    Best Regards,

    Jay

2 Replies