Forum Discussion

fisqkuz's avatar
fisqkuz
New Member
4 years ago
Solved

averageX with where statement?

For every hour I want to subtract one column from the other one only if the last column is smaller than the first one. Then I want the average of the result.

 

Currently trying (but failing obviously) like:

 

Avg Spd Column1 =
VAR bigger = SUMX(table1, table1[X] - table1[Y])
VAR two = CALCULATE(SUMX(table1, table1[X] - table1[Y]), bigger > 0)
RETURN
two
  • Hi fisqkuz 

    Try this way, create the measures

    DIFF = IF(MIN('Table'[Y])<MIN('Table'[X]),MIN('Table'[X])-MIN('Table'[Y]))
    average = AVERAGEX('Table',[DIFF])

    result (see sample file attached below)

    Best Regards,

    Community Support Team _Tang

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

2 Replies

  • fisqkuz , force a  row context/gorup by , prefer visual group/axis/row

     

    example time here

     

    Avg Spd Column1 =
    VAR bigger = CALCULATE(SUMX(table1, table1[X] - table1[Y]))
    VAR two = CALCULATE(SUMX(filter(values(table1[Time]),bigger > 0), bigger)
    RETURN
    two

  • v-xiaotang's avatar
    v-xiaotang
    Icon for Community Support rankCommunity Support

    Hi fisqkuz 

    Try this way, create the measures

    DIFF = IF(MIN('Table'[Y])<MIN('Table'[X]),MIN('Table'[X])-MIN('Table'[Y]))
    average = AVERAGEX('Table',[DIFF])

    result (see sample file attached below)

    Best Regards,

    Community Support Team _Tang

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