Greetings! This is another post highlighting a beast mode from my Domo IDEAs conference session. This one covers how to format numbers a number when concatenating with a string.
Problem:
Conditionally color a number based on a specific condition
Solution:
We can utilize the <div>
and <span>
tags with some CSS styling code to specify some color and conditionally combine those with a color value using CASE
and CONCAT
-- Author:
-- Created:
-- Last Modified:
-- Description: Use a CASE statement to conditionally color even numbers as green and odd numbers as red
-- MOD([VALUE], 2) returns the remainder of dividing the [VALUE] by 2. 0 for even and 1 for odd.
-- The coloring is using <div> and <span> with styling to perform the colorization
-- Note: This only works with an HTML table card.
CONCAT('<div><span style="color: ',
CASE WHEN MOD(FLOOR(SUM(`random_number`)), 2) = 0 THEN 'green' ELSE 'red' END,
'">',
FLOOR(SUM(`random_number`)),
'</span></div>')
Note:
Because HTML coding / tags are being utilized an HTML table is the only card which will support this.