Beast mode calculation for aggregating data
Hi,
I have a numeric field called "days until due" which contains negative numbers for outstanding items from 1 to 100. I am trying to group these using a beast mode calc. but keep getting syntax errors. For example, when "days until due" is from 1 to 9 days I want it to be grouped as "19 days", 10 to 19 days would be "10 to 19 days". The idea is to group these and sum the value for the range and chart it.
Can anyone please suggest a beast mode calc. that works?
Cheers
Best Answer
Answers

Hi @Lashes
You can use some simple math to convert your negative number to a positive one and some trickery with the FLOOR and CEILING functions to get bands of 10.
CASE WHEN `days until due` * 1 > 60 THEN '60+ days' CASE WHEN `days until due` >= 60 THEN '60+ days' ELSE CONCAT(FLOOR(`days until due` / 10) * 10, '', (FLOOR(`days until due` / 10) * 10 + 9), ' days') END
To explain a bit further:
`days until due` / 10
Calculates a 10s bucket and inverses your negative number to a positive number
FLOOR(`days until due` / 10)
FLOOR returns a decimal without the decimal places (1.9 > 1)
We then multiply it by 10 to convert back to 10s, this will give us the lower end of the bucket.
We do the same thing for the higher end of the bucket but also add 9 to it so it'll end up being 19 instead of 10 for example.
I just chose a lower threshold of 60. If you have positives you'll need to put another condition right after the first one to bucket those  just don't multiply by 1.
2
Categories
 10.6K All Categories
 APAC User Group
 12 Welcome
 36 Domo News
 9.6K Using Domo
 1.9K Dataflows
 2.4K Card Building
 2.2K Ideas Exchange
 1.2K Connectors
 337 Workbench
 250 Domo Best Practices
 11 Domo Certification
 460 Domo Developer
 47 Domo Everywhere
 100 Apps
 703 New to Domo
 83 Dojo
 Domopalooza
 1.1K 日本支部
 4 道場日本支部へようこそ
 22 お知らせ
 62 Kowaza
 295 仲間に相談
 649 ひらめき共有