Nest CASE Function in Beast Mode?

Hi,

 

I am new to Domo and am trying to set up a "nested" case function in Beast Mode (similar to a nested IF statement in Excel and am running into some issues. Can anyone tell me what is wrong with the below example? Many thanks!

 

CASE when `Car`= Red then '1' else
CASE when `Car`= Green then '2' else
CASE when `Car`= Blue then '3' else ‘4’ End

Comments

  • Because you are referencing strings you have to add delimiters.

     

    So place the colors as such:

    'RED'

    'BLUE'

    'GREEN'

  • You have a few syntax errors in the example below. The biggest issue is that you don't need to repeat the "case" portion of the case statement. It should look like this:

     

    CASE 
    WHEN `Car` = 'Red' THEN 1
    WHEN `Car` = 'Green' THEN 2
    WHEN `Car` = 'Blue' THEN 3
    ELSE 4
    END

    I made a few other changes. You needed to have quotes around the colors (red, green and blue). If those were not there Domo would expect to see columns from the data grid with those names. I assumed that you were actually checking for the values red, green and blue in the data set.

     

    I also changed the case statement to return numbers instead of characters.

  • @cwagner, did any of the above replies help address your issue in Beast Mode?

  • I'm trying to simuluate a nested IF(AND()) as used in excel.  is that possible with BeastMode?

     

    IF(AND(var 1= 'A', var2 + var3 > 0),'YES', IF(AND(var1 = 'A', var4 = 'No'),'No','')))

     

    is this possible?

  • you would use a case statement and it would look something like this

     

    CASE when `var 1`= 'A' and `var2` + `var3` > 0 THEN 'YES'  When `var1` = 'A' and `var4` = 'No' then 'No' else '' end

  • @kwinder, did Godzilla's reply help address your question? Also, please feel free to open a new thread with your question for better exposure!

  • Why does the following not work?


    @cwagnerwrote:

    Hi,

     

    I am new to Domo and am trying to set up a "nested" case function in Beast Mode (similar to a nested IF statement in Excel and am running into some issues. Can anyone tell me what is wrong with the below example? Many thanks!

     

    CASE when `Car`= Red then '1' else
    CASE when `Car`= Green then '2' else
    CASE when `Car`= Blue then '3' else ‘4’ End


     

    case
    when (MONTH(`Created Date`)= '1' then 'Jan'
    when (MONTH(`Created Date`)= '2' then 'Feb'
    when (MONTH(`Created Date`)= '3' then 'Mar'
    when (MONTH(`Created Date`)= '4' then 'Apr'
    when (MONTH(`Created Date`)= '5' then 'May'
    when (MONTH(`Created Date`)= '6' then 'Jun'
    when (MONTH(`Created Date`)= '7' then 'Jul'
    when (MONTH(`Created Date`)= '8' then 'Aug'
    when (MONTH(`Created Date`)= '9' then 'Sep'
    when (MONTH(`Created Date`)= '10' then 'Oct'
    when (MONTH(`Created Date`)= '11' then 'Nov'
    when (MONTH(`Created Date`)= '12' then 'Dec'
    end

  • You don't need to leading parenthesis (and it wasn't being closed). The following should work now.

    case
    when MONTH(`Created Date`)= '1' then 'Jan'
    when MONTH(`Created Date`)= '2' then 'Feb'
    when MONTH(`Created Date`)= '3' then 'Mar'
    when MONTH(`Created Date`)= '4' then 'Apr'
    when MONTH(`Created Date`)= '5' then 'May'
    when MONTH(`Created Date`)= '6' then 'Jun'
    when MONTH(`Created Date`)= '7' then 'Jul'
    when MONTH(`Created Date`)= '8' then 'Aug'
    when MONTH(`Created Date`)= '9' then 'Sep'
    when MONTH(`Created Date`)= '10' then 'Oct'
    when MONTH(`Created Date`)= '11' then 'Nov'
    when MONTH(`Created Date`)= '12' then 'Dec'
    end

    Sincerely,

    ValiantSpur