Forum Discussion

DivakarKrishnan's avatar
6 years ago
Solved

Need help on Average over Measure

Dear,

 

I have couple of DAX written in my model, now i want to calculate average for specific items over this measure. As you know Average DAX is taking only table column and not the measure. Please guide me on how to take average over this below measure.

 

Main Measure : Need average over this Sum of Net Delivery Measure.

Sum of Net Delivery = [SUM of Total Delivery] - [SUM of Total Reversal Delivery]
 
SUM of Total Delivery = SUMX(FILTER('Total Delivery Summary',  'Total Delivery Summary'[SAP_Delivery_Status_Movement Type]="601"),'Total Delivery Summary'[Total SUM])
SUM of Total Reversal Delivery = SUMX(FILTER('Total Delivery Summary',  'Total Delivery Summary'[SAP_Delivery_Status_Movement Type]="602"),'Total Delivery Summary'[Total SUM])
  • Hello DivakarKrishnan , Not very clear about the category over which you want to calculate the Average, but you can refer that category in your DAX, somewhat like below DAX.

     

    DAX = AVERAGEX( KEEPFILTERS( VALUES( 'Your_Table'[Category_Field] ) ), CALCULATE( [Sum of Net Delivery] ) )

    where, 'Sum of Net Delivery' is your Main measure.

     

    Let me know, if this works.

     

    If I answer your question, please mark my post as solution, this will also help others.

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable
    [Avg Over Items] =
    averagex(
        values( ItemsDimension[ItemId] ),
        // Please note that if
        // [your measure] = BLANK() for
        // some ItemId, then this value
        // will NOT be taken into account.
        // If you want to treat BLANK() as
        // 0 and do include it in the calculation
        // you have to add 0 to the measure:
        // [your measure] + 0
        [your measure]
    )
  • Hello DivakarKrishnan , Not very clear about the category over which you want to calculate the Average, but you can refer that category in your DAX, somewhat like below DAX.

     

    DAX = AVERAGEX( KEEPFILTERS( VALUES( 'Your_Table'[Category_Field] ) ), CALCULATE( [Sum of Net Delivery] ) )

    where, 'Sum of Net Delivery' is your Main measure.

     

    Let me know, if this works.

     

    If I answer your question, please mark my post as solution, this will also help others.

    • DivakarKrishnan's avatar
      DivakarKrishnan
      Icon for Helper II rankHelper II

      Thanks for your response.

       

      I tried the below code and it's working. Thanks a lot..

       

       

      AVG of PM = AVERAGEX( VALUES( 'Calendar'[MonthNameShort]) , CALCULATE( [Sum of Net Delivery] ) )
      • Anonymous's avatar
        Anonymous
        Not applicable
        Measures are always wrapped in CALCULATE automatically by the engine. You never have to do it yourself.