Forum Discussion
Anonymous
3 years agoNot applicable
Finding data points outside of 2 Standard Deviations
Hello,
I am currently trying to to find data points of a column called "EPG" which fall outside of 2 standard deviations to remove outliers.
to get the Average:
InternalEPGAvG = AVERAGE(PhenRQCJoinData[EPG])
To get the the std dev:
Internal St.Dev = STDEV.P(PhenRQCJoinData[EPG])
To find outliers in the data:
+2Std = COUNTAX(PhenRQCJoinData, PhenRQCJoinData[EPG] > PhenRQCJoinData[InternalEPGAvG] + PhenRQCJoinData[Internal St.Dev] * 2)
-2Std = COUNTAX(PhenRQCJoinData, PhenRQCJoinData[EPG] < PhenRQCJoinData[InternalEPGAvG] - PhenRQCJoinData[Internal St.Dev] * 2)
The problem is for both measures it returns the whole table (95) when it should be closer to 7.
Can anyone see what I am doing wrong here?
Here is the link to my Pbix File:
All Of the data and measures are on 'PhenRQCJoinData'
All help is greatly appreciated
+2Std = VAR StandardDev = CALCULATE( STDEV.P( 'PhenRQCJoinData'[EPG] ), REMOVEFILTERS( 'PhenRQCJoinData' ) ) VAR OverallAverage = CALCULATE( [Internal Average], REMOVEFILTERS( 'PhenRQCJoinData' ) ) VAR NumOver = COUNTROWS( FILTER( 'PhenRQCJoinData', 'PhenRQCJoinData'[EPG] > OverallAverage + StandardDev * 2 ) ) RETURN NumOver
2 Replies
- johnt75
Super User
+2Std = VAR StandardDev = CALCULATE( STDEV.P( 'PhenRQCJoinData'[EPG] ), REMOVEFILTERS( 'PhenRQCJoinData' ) ) VAR OverallAverage = CALCULATE( [Internal Average], REMOVEFILTERS( 'PhenRQCJoinData' ) ) VAR NumOver = COUNTROWS( FILTER( 'PhenRQCJoinData', 'PhenRQCJoinData'[EPG] > OverallAverage + StandardDev * 2 ) ) RETURN NumOver- AnonymousNot applicable
Thanks heaps, Worked well.