superset icon indicating copy to clipboard operation
superset copied to clipboard

Table chart: Conditional formatting assigns color to N/A values

Open goto-loop opened this issue 2 years ago • 2 comments

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

  1. Create a new Table chart from the new_members_daily example dataset
  2. Set chart to RAW RECORDS and under COLUMNS add new_members, then hit CREATE CHART
  3. Under CUSTOMIZE tab, CONDITIONAL FORMATTING, add new formatter with arbitrary color for values < 1
  4. 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

Screenshot_20220906_121559

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.

goto-loop avatar Sep 06 '22 10:09 goto-loop

A workaround is add css for dt-is-null class to override the background color.

yuxinhua123 avatar Sep 14 '22 07:09 yuxinhua123

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;
}

goto-loop avatar Sep 14 '22 07:09 goto-loop