Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Different average based on filter

I have this data, what I want to achieve :

> Average Total : points PR+WAR from all technician

> Average PR & WAR : point only for PR OR only WAR based on FILTER

 

This is my code but gave me value :

YESTERDAY

> Average Total : correct value 7,5 this DAX gave me 3,75  (WRONG)

> Average PR & WAR : correct value PR = 3 and WAR = 4.5 this DAX gave me PR = 3 and WAR = 4.5 (CORRECT)

Bassicly how to make this DAX give a correct value for Average Total and Average PR & WAR 

 

1. AVG_Points = AVERAGE(CL_PROD[Points])

2 AVG_Points_Filter = IF(MAX(CL_PROD[WO_Type])= "PR" || MAX(CL_PROD[WO_Type])= "WAR",
	            [AVG_Points],[AVG_Points]*2)

 

  • Hi Anonymous ,

    Try the following formula:

    AVG_Points = 
    AVERAGEX(
      SUMMARIZE(
        ALLSELECTED(CL_PROD),
        CL_PROD[Tech_ID],
        "t", SUM( CL_PROD[Points] )
      ),
      [t]
    )
    AVG_Points_Filter = 
    CALCULATE(
      AVERAGE(CL_PROD[Points]),
      ALLSELECTED(CL_PROD),
      GROUPBY(
        CL_PROD,
        CL_PROD[WO_Type]
      )
    )

    Does it match the output you want?

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

    Best Regards,
    Winniz

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

     

7 Replies

  • Anonymous , Try a measure like

    AverageX(values(Table[Date]), calculate(Sum(Table[Points])))

      • amitchandak's avatar
        amitchandak
        Super User

        Anonymous , the filter should work here. Trying to get Avg on Day total

         

        Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.