Domo Idea Exchange - Beast Modes - Abbreviated Summary Number
Greetings! This is another post highlighting a beast mode from my Domo IDEAs conference session. This one covers how to format numbers a number in an abbreviated format.
When concatenating a string with a number the resulting value is a string and unable to utilize Domo's built in formatting.
This version only needs to check for length in increments of 3 to determine the correct units (Billions, Millions etc). The case statement goes in a descending order because the case statement will enter the condition that evaluates to true first. So every condition below the top one implies that the first condition is false.
-- Author: -- Created: -- Last Modified: -- Description: Since the numbers are being concatenated with a string -- Default Domo number formatting is no longer possible. This will format the -- total of the `random_number` field based on how large the number is. -- ROUND will format the abbreviation to 2 decimal places. CONCAT( 'Total: ', -- CASE statements will evaluate the first expression it finds to be true and then exists. -- No further conditions are evaluated -- If >= 10 digits then it's in the billions -- It would need to be expanded to 13 for (T)rillions CASE WHEN LENGTH(ROUND(SUM(`random_number`), 0)) >= 10 THEN CONCAT(ROUND(SUM(`random_number`) / 1000000000, 2), 'B') -- 7 digits means Millions WHEN LENGTH(ROUND(SUM(`random_number`), 0)) >= 7 THEN CONCAT(ROUND(SUM(`random_number`) / 1000000, 2), 'M') -- 4-6 digits = thousands WHEN LENGTH(ROUND(SUM(`random_number`), 0)) >= 4 THEN CONCAT(ROUND(SUM(`random_number`) / 1000, 2), 'K') WHEN LENGTH(ROUND(SUM(`random_number`), 0)) <= 3 THEN ROUND(SUM(`random_number`), 0) WHEN SUM(`random_number`) IS NULL THEN 0 ELSE '' END )
These beast modes only go to 100 Billion (12 digits). Any number higher would need to expand using the same logic for higher lengths.
**Did this solve your problem? Accept it as a solution!**
- 7.3K All Categories
- 13 Getting Started in the Community
- 142 Beastmode & Analytics
- 1.8K Data Platform & Data Science
- 54 Domo Everywhere
- 2K Charting
- 1K Ideas Exchange
- 904 Connectors
- 237 Workbench
- 342 APIs
- 77 Apps
- 19 Governance & Productivity
- 235 Use Cases & Best Practices
- 50 News
- 473 Onboarding
- 573 日本支部