Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin 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.
Hi there
I have two data cards - one with an average pass ratio, and the other with the pass ratio which changes when you select different slicers. So you can compare the pass ratio alongside the average, to see if you've done better or worse. Lovely.
I want the colour of the pass ratio to be green if it's higher than the average, and red if it's lower.
I'm not sure how to do this. Help!
Solved! Go to Solution.
Hi @Anonymous, this is a multistep process.
Vs Average =
VAR varCurrentValue = SELECTEDVALUE('Table'[Value],0)
VAR varAverage = [Average Value]
RETURN
SWITCH(
TRUE(),
varCurrentValue > varAverage, "Green",
varCurrentValue = varAverage, "Black",
varCurrentValue < varAverage, "Red"
)
Average Value =
CALCULATE(
AVERAGE('Table'[Value]),
REMOVEFILTERS('Table'[Category])
)
You can see my PBIX here if you want to play with it a bit. You can get rid of my green/red/black text and use hex codes as long as they are in the format "#000000" with the # sign to tweak those colors.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting@Anonymous , You can create a color measure and use that under conditional formatting with field option.
example
Color sales = if(AVERAGE(Sales[Sales Amount])<170,"green","red")
Color Year = if(FIRSTNONBLANK(Table[Year],2014) <=2016,"lightgreen",if(FIRSTNONBLANK(Table[Year],2014)>2018,"red","yellow"))
Color Field - Color Measure - Conditional formatting
https://radacad.com/dax-and-conditional-formatting-better-together-find-the-biggest-and-smallest-numbers-in-the-column
https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-by-color-values
icon based
https://exceleratorbi.com.au/conditional-formatting-using-icons-in-power-bi/
https://community.powerbi.com/t5/Desktop/FORMAT-icon-set-for-use-in-a-data-card/td-p/811692
Hi @Anonymous ,
You also could reference this thread that I answered to have a try.
https://community.powerbi.com/t5/Desktop/Formatting-Arrow-in-Card/td-p/931483
Please reference the document to learn more about conditional formatting.
Hi @Anonymous, this is a multistep process.
Vs Average =
VAR varCurrentValue = SELECTEDVALUE('Table'[Value],0)
VAR varAverage = [Average Value]
RETURN
SWITCH(
TRUE(),
varCurrentValue > varAverage, "Green",
varCurrentValue = varAverage, "Black",
varCurrentValue < varAverage, "Red"
)
Average Value =
CALCULATE(
AVERAGE('Table'[Value]),
REMOVEFILTERS('Table'[Category])
)
You can see my PBIX here if you want to play with it a bit. You can get rid of my green/red/black text and use hex codes as long as they are in the format "#000000" with the # sign to tweak those colors.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHI @Anonymous
You can conditionaly format the background of the card.
and the data label of the card.
Yes @Anonymous I know you can conditionally format the card, my question is, what measure do I use to say if [current value] is greater than [average value] then 'green' else if [current value] is less than [average value] then 'red' else 'black'
@Anonymous - I included a measure that shows this:
Vs Average =
VAR varCurrentValue = SELECTEDVALUE('Table'[Value],0)
VAR varAverage = [Average Value]
RETURN
SWITCH(
TRUE(),
varCurrentValue > varAverage, "Green",
varCurrentValue = varAverage, "Black",
varCurrentValue < varAverage, "Red"
)
It is not the only way, but a way. Did you download my PBIX file and see how the entire process worked? If it doesn't do what you want, can you be more specific?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reportinghi @Anonymous
I would create a measure which return 1 or 0 and -1 for us, and use it to conditionally format.