Forum Discussion

maxfefer's avatar
maxfefer
Regular Visitor
6 years ago

Help with rolling average

Hello,

 

I am having issues calculating a moving average. I think there may be something wrong with my Date column? When I try to calculate a 7 day rolling average in a new column "RollAvg1" with the DAX code from the Quick Measure, the result is only averaging one row (one day), not the full 7 day window I want. I've tried removing the .[Date] suffix and it still did not work. It looks like the Time Intelligence is working within PowerBI because the automatic date table is generating, but the Date is greyed out.

 

Can you help?

Thanks!

 

RollAvg1 = 
VAR __LAST_DATE =
    LASTDATE ( Query1[Date].[Date] )
RETURN
    AVERAGEX (
        DATESBETWEEN (
            Query1[Date].[Date],
            DATEADD ( __LAST_DATE, -6, DAY ),
            __LAST_DATE
        ),
        CALCULATE ( SUM ( Query1[Values] ) )
    )

 

 

4 Replies

  • maxfefer , I typically used this kind of formula with date calendar

     

    Rolling 7 day = CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX(Sales[Sales Date]),-7,Day))

     

     

    • maxfefer's avatar
      maxfefer
      Regular Visitor

      Thank you, amitchandak. The equation you provided blank results in my column. I also tried including the .[Date] suffix and it still resulted in blank results.

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi maxfefer

         

        Try below calculated column:

         

        RollAvg1 = 
            AVERAGEX (Filter('Query1',Query1[Date]<=earlier(Query1[Date])&&Query1[Date]>=earlier(Query1[Date])-6),
               
                CALCULATE ( SUM ( Query1[Values] ) )
            )

         

         

        Best Regards,
        Kelly
        Did I answer your question? Mark my post as a solution!