superset
superset copied to clipboard
Table chart: Conditional formatting assigns color to N/A values
When using the Table chart, it is possible to define conditional color formatting. Currently, the formatting is applied also to N/A values if a left-open interval with positive target value is used.
How to reproduce the bug
- Create a new Table chart from the new_members_daily example dataset
- Set chart to RAW RECORDS and under COLUMNS add new_members, then hit CREATE CHART
- Under CUSTOMIZE tab, CONDITIONAL FORMATTING, add new formatter with arbitrary color for values < 1
- Click APPLY and see the first row with N/A value be marked as red
Expected results
N/A values should be excluded from conditional formatting, i.e. they should have no color because their value is undefined.
Actual results
N/A values get color formatted.
Screenshots
Environment
- browser type and version: Firefox 104.0.1
- superset version: 2.0.0
Checklist
Make sure to follow these steps before submitting your issue - thank you!
- [x] I have reproduced the issue with at least the latest released version of superset.
- [x] I have checked the issue tracker for the same issue and I haven't found one similar.
Additional context
A possible workaround is to split up the left-open interval, e.g. instead of one conditional formatter for x < 1 you use three formatters with the ranges 0 < x < 1, x = 0 and x < 0. It seems that N/A gets treated as zero value, but it does not satisfy a comparison with the actual number 0.
A workaround is add css for dt-is-null class to override the background color.
That's a pretty good workaround, thanks for the suggestion!
For the record, this is what I've added to the dashboard's CSS (I believe you can't add CSS to a chart?):
.dt-is-null {
background-color: #ffffff;
}