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

  • swyatt
    swyatt Contributor

    Because you are referencing strings you have to add delimiters.

     

    So place the colors as such:

    'RED'

    'BLUE'

    'GREEN'

  • jmo
    jmo Domo Employee

    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.

    -----
    I work for Domo.
    **Say "Thanks" by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as "Accepted Solution"
  • kshah008
    kshah008 Contributor

    @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?

  • Godzilla
    Godzilla Contributor

    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

    Domo Arigato!

    **Say 'Thanks' by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as 'Accepted Solution'
  • kshah008
    kshah008 Contributor

    @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

  • BlueRooster
    BlueRooster Domo Employee

    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