Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Hi,
Im trying to evaluate each column value agaisnt the measure but cant seem to figure out why it is struggling.
A very simple 1 column table (Test);
Number
---------
1
2
3
4
5
6
7
8
9
10
Measure = STDEV.P(Test[Number]) - which gives a Standard deviation value of 2.87
I have now a calculated column that checks to see iff each of the values in the number column is greater than or less than the Standard Deviation calculated in the measure using this formula;
LogicalTest = IF(Test[Number]<[Measure], "Less", "Greater")
But the resulting table looks like this;
Why is it evaluating each row value as "Greater"? Surely values 1 and 2 should show "Less"
See the PBI file below:
https://www.dropbox.com/s/kyrfej1luf8uwan/MeasureVsColumn.pbix?dl=0
Solved! Go to Solution.
@Anonymous
Measures transform row context to Filter context
So your STDEV.P gets calculated for each individual row in above formula
Try
LogicalTest = IF(Test[Number]<STDEV.P(Test[Number]), "Less", "Greater")
Thanks for that.
The only issue I have is that the Standard deviation needs to be stored as a measure. And from there it needs to evaluate each row to that measure value. Can this be achieved anyhow?
@Anonymous
If you want to keep the original measure you can use
LogicalTest_ = IF(Test[Number]<CALCULATE([Measure],ALL(Test)), "Less", "Greater")
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the September 2025 Power BI update to learn about new features.