Can we create a beast mode calculation with case statement for a value field?

I wanted to set the range of a value field like,

case when 'value' <=1 then '0-1 end

from this range, I wanted to see the count('dimensions'). I have tried this in beast mode, but not getting the correct count for each range.

Any help is appreciated

Thanks in advance

Salma

Answers

  • amehdad
    amehdad 🟒
    edited September 17

    Hi @Salmas, what's the scenario/question you are trying to solve for here?

    If you want to know the number of instances where values fall in the '0-1' range for example, what you can do is have a table chart with two columns:

    1) 'Beast mode' where you have define your range conditions

    2) Count of 'Beast mode', where you click on the 2nd column field and change the 'Aggregation' to 'Count'

  • GrantSmith
    GrantSmith Indiana πŸ”΄

    @Salmas

    Its a bit difficult to help diagnose your issue without understanding what the current counts are and what you’re expecting them to be. Do you have any sample anonymized data you can post to help paint a better picture of your issue?

  • jaeW_at_Onyx
    jaeW_at_Onyx Budapest / Portland, OR 🟀

    @Salmas


    what you CAN do is write

    case when value = 1 then 'between 0 and 1
    
    when value = 2 then between 1 and 2 ...
    
    end
    

    this will work fine because the CASE statement is evaluated BEFORE aggregation.

    what you CANNOT do is write:

    case when sum(amount) between 0 and 1 then ...
    

    because the case statement is evaluated AFTER aggregatioin. after aggregation, you already have a set number of rows. you could not add the resulting beast mode to your group by clause because that would require analyzer to run two subqueries (recalculate your results) twice.