This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
I have the 3 first columns, and I want to get the blue one. The values are obtained by comparing grades to grade averages of each area. How to do it?
Solved! Go to Solution.
Hi @Zyg_D ,
Try this one:
Hi @Zyg_D
Create a new calculated column in your table:
above_below =
VAR area_avg_ =
CALCULATE ( AVERAGE ( Table1[grade] ), ALLEXCEPT ( Table1, Table1[area] ) )
RETURN
SWITCH (
TRUE (),
Table1[grade] > area_avg_, "above average",
Table1[grade] = area_avg_, "average",
Table1[grade] < area_avg_, "below average"
)
Please mark the question solved when done and consider giving kudos if posts are helpful.
Cheers
@AlB wrote:Create a new calculated column in your table:
above_below =
VAR area_avg_ =
CALCULATE ( AVERAGE ( Table1[grade] ), ALLEXCEPT ( Table1, Table1[area] ) )
RETURN
SWITCH (
TRUE (),
Table1[grade] > area_avg_, "above average",
Table1[grade] = area_avg_, "average",
Table1[grade] < area_avg_, "below average"
)
Although I like that you properly formatted your answer, it evaluated as error to me.
Hi @Zyg_D ,
Try this one:
@Greg_Deckler wrote:
above/below =
VAR __grade = MAX('Table'[grade])
VAR __area = MAX('Table'[area])
VAR __average = AVERAGEX(FILTER(ALL('Table'),[area]=__area),[grade])
IF(__grade >= __average,"above average","below average")
Sorry, even after adding RETURN before IF it yields wrong results - always above average.
Because it is a measure and you are probably trying to use it in a column.
Column form:
above/below =
VAR __grade = [grade]
VAR __area = [area]
VAR __average = AVERAGEX(FILTER('Table',[area]=__area),[grade])
RETURN
IF(__grade >= __average,"above average","below average")
@Greg_Deckler wrote:Because it is a measure and you are probably trying to use it in a column.
Column form:
above/below =
VAR __grade = [grade]
VAR __area = [area]
VAR __average = AVERAGEX(FILTER('Table',[area]=__area),[grade])
RETURN
IF(__grade >= __average,"above average","below average")
Is performance-wise measure better than calculated column?
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 29 | |
| 28 | |
| 25 | |
| 20 | |
| 14 |
| User | Count |
|---|---|
| 53 | |
| 47 | |
| 29 | |
| 20 | |
| 19 |