Forum Discussion

nknishant's avatar
nknishant
New Member
9 months ago
Solved

Rolling Avg

I want to know how we write the Dax code in Rolling of average sales without use of averagex function in easiest way.

 

can you please help here.

amitchandak 

  • nknishant , if you need row level avg 

    Rolling 12 = CALCULATE(Average(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

     

    if not 

     

    Rolling 12 Avg = CALCULATE(Divide( sum(Sales[Sales Amount]) , distinctcount('Date'[Month Year]) ) ,DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

     

    or

    Rolling 12 Avg = CALCULATE(Divide( sum(Sales[Sales Amount]) , countrows(sumamrize(Sales,'Date'[Month Year]) ) ,DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

  • Hi,

    Why do you not want to use the AVERAGEX() function?  Share some data to work with and show the expected result.

5 Replies

  • nknishant , if you need row level avg 

    Rolling 12 = CALCULATE(Average(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

     

    if not 

     

    Rolling 12 Avg = CALCULATE(Divide( sum(Sales[Sales Amount]) , distinctcount('Date'[Month Year]) ) ,DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

     

    or

    Rolling 12 Avg = CALCULATE(Divide( sum(Sales[Sales Amount]) , countrows(sumamrize(Sales,'Date'[Month Year]) ) ,DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-12,MONTH))

  • Thank you for the prompt reply. I will follow this dax method. 

  • Hi,

    Why do you not want to use the AVERAGEX() function?  Share some data to work with and show the expected result.

    • nknishant's avatar
      nknishant
      New Member

      Thank you Ashish_Mathur AverageX we can also use here for the same but as per solution of row level wise. 
      so we using here calculate with expression and use Datesinperiod for the result.