This is a followup to a thread from last month (Table, compare several month-over-month). We've created a table card that for the most part function as requested, but noticed a few things that need to be accounted for and we haven't been able to figure those out at this time. In the screenshot below, we have a branch/location and the Total Discrepancies for each over the last 12 months; then the table will show, from left to right, the Monthly Discrepancy% followed by the Variance % when compared to the next Monthly Discrepancy%. We created a beast mode for each column, and as stated these are functional and provide exactly what the request was looking for (green boxes show some examples of this, and percentage increases were conditionally formatted to have the cell in red).
However, some of the issues we see with the table, i.e. the beast modes themselves, are as follows (screenshot will show each of these as they appear when viewing the card):
1) for Monthly Discrepancies where no discrepancies exist, for some reason some boxes show 0% while others are BLANK
2) since going from 0% to any other percentage is infinite, those fields are also BLANK (want those to populate INFINITE in red (hoping we can do this in CHART PROPERTIES/COLORS, but may be able to add HTML/CSS to the existing beast mode if not)
3) lastly, we'd like to get clarification on whether or not we should leave all of the new columns as beast modes (currently 23 in total), or if it'd be better doing these in the dataflow itself by way of transform. Not sure if that would slow down the dataflow, but we did notice the card can take 5-10 seconds to load (not a major concern and likely due to the number of beast modes being calculated).

Discrepancy% Beast Mode:
(CASE
WHEN SUM(`Has Discrepancy`) = '0' OR COUNT(`OfferId`) = '0' THEN 0 ELSE
SUM(CASE WHEN MONTH(`ReviewedDate`) = MONTH(CURRENT_DATE()) THEN `Has Discrepancy`
END)
/
COUNT(CASE WHEN MONTH(`ReviewedDate`) = MONTH(CURRENT_DATE()) THEN `ID#`
END)
END)
Variance% Beast Mode:
(CASE
WHEN SUM(`Has Discrepancy`) = '0' OR COUNT(`ID#`) = '0' THEN 0 ELSE
SUM(CASE WHEN MONTH(`ReviewedDate`) = MONTH(CURRENT_DATE()) THEN `Has Discrepancy`
END)
/
COUNT(CASE WHEN MONTH(`ReviewedDate`) = MONTH(CURRENT_DATE()) THEN `ID#`
END)
END)
/
(CASE
WHEN SUM(`Has Discrepancy`) = '0' OR COUNT(`ID#`) = '0' THEN 0 ELSE
SUM(CASE WHEN MONTH(DATE_ADD(`ReviewedDate`,INTERVAL 1 MONTH)) = MONTH(CURRENT_DATE()) THEN `Has Discrepancy`
END)
/
COUNT(CASE WHEN MONTH(DATE_ADD(`ReviewedDate`,INTERVAL 1 MONTH)) = MONTH(CURRENT_DATE()) THEN `ID#`
END)
END) - 1.00
Thanks in advance for any assistance provided...
John