Forum Discussion
gvg
Post Prodigy
8 years agoAverage calculation by criteria
Hi, I would like to calculate average of Amount by some specific column in the same table. Thought this was simple, but I get strange results with this measure, which, I would expect, should do t...
- 8 years ago
Hi gvg
Try this MEASURE
Calculated_Average = IF ( HASONEFILTER ( Table1[DocNo] ), CALCULATE ( AVERAGE ( Table1[Amount] ), ALLEXCEPT ( Table1, Table1[DocNo] ) ), AVERAGEX ( VALUES ( Table1[DocNo] ), CALCULATE ( AVERAGE ( Table1[Amount] ), ALLEXCEPT ( Table1, Table1[DocNo] ) ) ) )
Zubair_Muhammad
Community Champion
8 years agoHi gvg
Try this MEASURE
Calculated_Average =
IF (
HASONEFILTER ( Table1[DocNo] ),
CALCULATE ( AVERAGE ( Table1[Amount] ), ALLEXCEPT ( Table1, Table1[DocNo] ) ),
AVERAGEX (
VALUES ( Table1[DocNo] ),
CALCULATE ( AVERAGE ( Table1[Amount] ), ALLEXCEPT ( Table1, Table1[DocNo] ) )
)
)- Zubair_Muhammad8 years ago
Community Champion
Actually your MEASURE is equivalent to
CalculatedAverage = CALCULATE(AVERAGE(Table1[Amount]),ALL(Table1[DocNo]))
The Calculate Expression
CALCULATE ( <expression>, table[column] = <value> )is internally transformed into
CALCULATE ( <expression>, FILTER ( ALL ( table[column] ), table[column] = <value> ) ) - gvg8 years ago
Post Prodigy
Yep, this works like charm. Thank you !