Forum Discussion
Conditional formatting help
I have this measure that calculates the difference between This month and the previous month:
I'm trying to add conditional formatting shapes to it in a table. If I right click on
the measure and select 'conditional formatting/icons I get this:
I'm trying to set it so if:
Value >= min and <0 RED icon
= 0 YELLOW icon
> 0 and <= Max Green icon
But I'm getting an error on the first rule and for some reason the second two are showing Percent not Number.
Can anybody see what I'm doing wrong?
For some reason its working now. I deleted the suggested rules and added some new one's in.
4 Replies
- GrowthNativesSuper User
Hi Fusilier2 , You're encountering the error because of a mismatch between data type and rule configuration.
Why You're Getting the Error:
- Your measure returns numeric values (like -3, 0, 4), not percentages.
- But in your conditional formatting rules, you're using "Percent", which expects values between 0 and 1 (i.e., 0%–100%).
- So value < 0 (Percent) is invalid, causing the red icon rule to error out.
How Fixing to "Number" Helps:
By changing each dropdown to "Number":
- Power BI will compare your measure against actual numbers like 0 and Max.
- The logic value < 0, = 0, and > 0 will work as expected.
Set up the icon rules like this:
- Red icon: If value < 0 → Number
- Yellow icon: If value = 0 → Number
- Green icon: If value > 0 → Number
This configuration will correctly apply icons to your Headcount Excl Casuals month on month measure based on the direction of change.
⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers.
💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving!
🚀Let’s keep building smarter, data-driven solutions together! 🚀[Explore More]- Fusilier2Helper V
I can't change Percent to Number because the dropdown box is greyed out.
- SamWiseOwlSuper User
Hi Fusilier2
Have you considered using a measure to do the formatting?
Icon Measure =
var Diff = [Headcount Excl Casual Month on Months] --stores the measure result
ReturnSwitch(
TRUE()--test if the following is true,Diff < 0 , "🔴" --Use Windows + . for the emoji keyboard
,Diff = 0, "🟡"
,Diff > 0, "🟢")
As for why it is showing as percentage only.
Is there any formatting being applied to the measure that might be confusing it?
- Fusilier2Helper V
For some reason its working now. I deleted the suggested rules and added some new one's in.