Forum Discussion
Conditional formatting not applying on axis based on values in same table
I'm struggling trying to apply conditional formatting to the Y-Axis labels, I setup a test table as follows:
And a bar chart to display that data
My goal is to have the date value be either one of two colors depending on if that day's "RandomBinary" value. I've added the "ColorText" column and tried using that as the field for the formatting, no luck. A measure (
I'm really not sure how to get this to work correctly; there doesn't seem to be an inherent way to tie the formatting to each date by using formatting only, and any rules will apply only one value to the entire axis unless I use a filter to remove all of the other value. Is there any way to get this to work date-by-date?
Hi di_12
Unfortunately the conditional formatting for the axis font color is evaluated once in the overall filter context of the visual, not separately for each value on the axis. This means the axis font color will always be the same for all values. 😞
(You can verify this by examining the DAX query for the visual.)
One workaround might be to get creative with data labels, which are formatted per data point. For example, you could
- Use a stacked bar chart.
- Create a dummy constant measure and display it below the existing measure.
- Use a measure returning the date value as a data label for the dummy measure.
- Apply conditional formatting the the data label font color.
- Create a reference line to act as the axis if required.
Small example of this method attached. It's a bit inconvenient and there may be formatting issues, but it's at least an option.
Alternatively, you could look at using something like Deneb where you can customize the logic more easily, or there may be another suitable custom visual out there.
Regards
3 Replies
- OwenAugerSuper User
Hi di_12
Unfortunately the conditional formatting for the axis font color is evaluated once in the overall filter context of the visual, not separately for each value on the axis. This means the axis font color will always be the same for all values. 😞
(You can verify this by examining the DAX query for the visual.)
One workaround might be to get creative with data labels, which are formatted per data point. For example, you could
- Use a stacked bar chart.
- Create a dummy constant measure and display it below the existing measure.
- Use a measure returning the date value as a data label for the dummy measure.
- Apply conditional formatting the the data label font color.
- Create a reference line to act as the axis if required.
Small example of this method attached. It's a bit inconvenient and there may be formatting issues, but it's at least an option.
Alternatively, you could look at using something like Deneb where you can customize the logic more easily, or there may be another suitable custom visual out there.
Regards
- Ritaf1983Super User
Hi di_12
I must admit that I didn’t fully understand the logic of what you’re trying to achieve, so I’ll try to assist with just the technical aspect.
The main point is that we don’t have an option for conditional formatting on axis labels in charts.
To work around this, you can either use labels instead of the axis or create a chart with a combined table.
I’m attaching a PBIX file with two examples. You can take a look at what I’ve done, and if you have any questions, feel free to ask.
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
- AnonymousNot applicable
Hi di_12
First, thanks to OwenAuger and Ritaf1983 for their great responses to this thread.
Currently Power BI does not support applying conditional formatting to values based on axes. However, both OwenAuger and Ritaf1983 have provided great alternatives in their replies to achieve a similar effect. So if these help you solve your problem, please consider accepting their replies as a solution.
If this feature is important to you, you can also submit an idea on ideas.fabric.microsoft.com.Best Regards,
Jarvis Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.