## Creating Buckets in Beast Mode

Highlighted White Belt

## Creating Buckets in Beast Mode

Hello!

So I'm trying to create temperature buckets in beast mode. Here's my formula:

case
when (`temperature` >= '33' and `temperature` <= '39') then '30s'
when (`temperature` >= '40' and `temperature` <= '49') then '40s'
when (`temperature` >= '50' and `temperature` <= '59') then '50s'
when (`temperature` >= '60' and `temperature` <= '69') then '60s'
when (`temperature` >= '70' and `temperature` <= '79') then '70s'
when (`temperature` >= '80' and `temperature` <= '89') then '80s'
when (`temperature` >= '90' and `temperature` <= '99') then '90s'
when (`temperature` >= '100') then '100s'
else 'Freezing'
end

When I look at the different buckets, all temperatures that are greater or equal to 100 and all temperatures below freezing are all grouped in the '100s' bucket. Is there something wrong with my equation?

Accepted Solutions
Highlighted Major Red Belt

## Re: Creating Buckets in Beast Mode

Is `temperature` numeric or string?

'33' and 33 ARE NOT the same thing. '33' is a string whereas 33 is numeric.

I suspect you want

CASE when (`temperature` >= 33 and `temperature` <= 39) then '30s'

Jae Wilson
Check out my Domo Training YouTube Channel

**Say "Thanks" by clicking the heart in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"
Highlighted Black Belt

## Re: Creating Buckets in Beast Mode

@jaeW_at_Onyx  is correct that your temperature must be a string value and needs to be converted to numeric. You can do this very easily in Magic ETL by adding a Set Column Type tile to your ETL.

Also, you can simplify your CASE statement since CASE statements exit out of the function once it finds a matching criteria. This means you could rewrite it like this:

``````case
when `temperature` <= 32 then 'Freezing'
when `temperature` <= 39 then '30s'
when `temperature` <= 49 then '40s'
when `temperature` <= 59 then '50s'
when `temperature` <= 69 then '60s'
when `temperature` <= 79 then '70s'
when `temperature` <= 89 then '80s'
when `temperature` <= 99 then '90s'
else '100s'
end``````

**Make sure to like any users posts that helped you and accept the ones who solved your issue.**

All Replies
Highlighted Major Red Belt

## Re: Creating Buckets in Beast Mode

Is `temperature` numeric or string?

'33' and 33 ARE NOT the same thing. '33' is a string whereas 33 is numeric.

I suspect you want

CASE when (`temperature` >= 33 and `temperature` <= 39) then '30s'

Jae Wilson
Check out my Domo Training YouTube Channel

**Say "Thanks" by clicking the heart in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"
Highlighted Black Belt

## Re: Creating Buckets in Beast Mode

@jaeW_at_Onyx  is correct that your temperature must be a string value and needs to be converted to numeric. You can do this very easily in Magic ETL by adding a Set Column Type tile to your ETL.

Also, you can simplify your CASE statement since CASE statements exit out of the function once it finds a matching criteria. This means you could rewrite it like this:

``````case
when `temperature` <= 32 then 'Freezing'
when `temperature` <= 39 then '30s'
when `temperature` <= 49 then '40s'
when `temperature` <= 59 then '50s'
when `temperature` <= 69 then '60s'
when `temperature` <= 79 then '70s'
when `temperature` <= 89 then '80s'
when `temperature` <= 99 then '90s'
else '100s'
end``````

**Make sure to like any users posts that helped you and accept the ones who solved your issue.**
Highlighted White Belt

## Re: Creating Buckets in Beast Mode

The values were coming in as a string but I figured it out!

Thanks for all the help!

Announcements