Forum Discussion

Busno's avatar
Busno
Helper I
5 years ago
Solved

Rolling average 30 day

Dear all, I need some help here. I want to create a 30 day rolling average. I have a daily sales record In column C and I want to average every 30 days like column D How can I do it in Power Bi? ...
  • v-lionel-msft's avatar
    v-lionel-msft
    5 years ago

    Hi Busno ,

     

    If you need to calculate according to the calendar, it should be like this.

    DATESINPERIOD() function takes into account dates that do not exist in your table.

    Measure = 
    CALCULATE(
        AVERAGE(Sheet3[C]),
        DATESINPERIOD( Sheet3[A], MAX(Sheet3[A]), -30, DAY ),
        ALL(Sheet3)
    )

    If you need to calculate according to the number of days in the table, it should be like this.

    Measure 2 = 
    CALCULATE(
        AVERAGE(Sheet3[C]),
        FILTER(
            ALL(Sheet3),
            Sheet3[Index] <= MAX(Sheet3[Index]) && Sheet3[Index] >= MAX(Sheet3[Index]) - 29
        )
    )

    Please refer to my .pbix file.

     

    Best regards,
    Lionel Chen

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.