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.
Problem:
When concatenating a string with a number the resulting value is a string and unable to utilize Domo's built in formatting.
Solution:
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 )
Note:
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!**
Comments
-
Here's a link to the video of my session outlining this beast mode: https://www.youtube.com/watch?v=gO8OLpsAk4M&index=6
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.5K Connect
- 1.2K Connectors
- 296 Workbench
- 6 Cloud Amplifier
- 8 Federated
- 2.9K Transform
- 100 SQL DataFlows
- 614 Datasets
- 2.2K Magic ETL
- 3.8K Visualize
- 2.5K Charting
- 729 Beast Mode
- 53 App Studio
- 40 Variables
- 677 Automate
- 173 Apps
- 451 APIs & Domo Developer
- 45 Workflows
- 8 DomoAI
- 34 Predict
- 14 Jupyter Workspaces
- 20 R & Python Tiles
- 394 Distribute
- 113 Domo Everywhere
- 275 Scheduled Reports
- 6 Software Integrations
- 121 Manage
- 118 Governance & Security
- Domo Community Gallery
- 32 Product Releases
- 10 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 108 Community Announcements
- 4.8K Archive