Forum Discussion
Need To create conditional formatting for Donut chart for Tied Values
- 9 months ago
Hi Anonymous
The issue isn’t with your color SWITCH it’s that your current rank treats tied values as identical.
To assign different shades of yellow to tied top-5 items, you must generate a rank where ties are intentionally broken.
You can do that by creating a Unique Rank measure that sorts by value first, and then uses a secondary stable key (like Category name) to break ties:
Unique Rank = RANKX( ALL('Table'[Category]), [YourValueMeasure] * 1.0 + (1e-10 * RANKX(ALL('Table'[Category]), 'Table'[Category], , ASC)), , DESC, DENSE )This guarantees that even if multiple categories have the same value, they will still receive ranks 1, 2, 3, 4, 5 instead of all being Rank 1.
Then your color measure will work correctly:
Color = SWITCH( [Unique Rank], 1, "#FFF7A6", 2, "#FFE875", 3, "#FFD84A", 4, "#FFC61A", 5, "#FFB800", "#D9D9D9" )This approach ensures different shades for tied values and keeps the donut chart dynamic for changing Top 5 categories.
I hope this information is helpful. If you have any further questions, please let us know. we can assist you further.Regards,
Microsoft Fabric Community Support Team.
Anonymous, there is a bit of a hack you can do, although Donut Chart doesn't allow conditional formatting, you can use a tree map, apply rule-based conditional formatting, and then convert it to a donut chart.
Color Measure =
VAR __Rank = [Your Rank Measure] --or whatever measure that you want the color based on
RETURN
SWITCH (
__Rank,
1, "Green",
2, "Yellow",
3, "Red",
4, "Grey"
)
Create tree map, use chemistry on column and measure on value, go to format pane -> color -> fx
Pick format style as Field value and color measure in the based on:
Once conditional formatting is applied, change the tree map to a donut chart, and that will take care of it.
But this doesn't solves the tied values different color requirement.