Is there a way to use vector style data groupings in Beast Mode?

I am trying to find a quicker way to use grouped data values in a column to filter an issue.  Let's say I want to say any records that are A,B, and D  should be marked "Inefficient" out of column Alpha that has values A,B,C,D,E.  In something like R I would do this by using a similar code:

 

v-Inefficient <- c{"A","B","D"}

 

 Using that logic utilize some kind of beast mode where:

 

(Case when Alpha = v-Inefficient then 'Inefficient'

else efficient

end)

Even if I could have a method of grouping to filter in the beast mode like:

(Case when Aplpha = {'A', 'B', 'D'} then 'v-Inefficient'

else 'Efficient'

End)

Is there a way to replicate this concept in a Domo Beast mode?  I have some situations where I am grouping off of larger beast modes, and then boiling down those beast mode results to isolated criteria per a filter.

Best Answer

  • KurtF
    Accepted Answer

    In SQL syntax we write this as follows:

     

    CASE

    WHEN `Alpha` IN ('A', 'B', 'D')

         THEN `v-Inefficient`

    WHEN `Alpha` IN ('C', 'E')

         THEN `v-Efficient`

    END

     

    This should do exactly what you are looking for.

     

     

Answers

  • You can't declare variables or nest Beast Bodes in Beast Mode, but something like a case statement using LIKE would work.  It would just get 'wordy'?

     

    CASE

    WHEN Alpha LIKE '%A%' OR Alpha LIKE '%B%' or Alpha LIKE '%D%' 

    THEN 'v-Inefficient'

    ELSE 'Efficient'

    END

  • Yeah, my beast modes were getting ridiculously wordy... I was also overlaying other beast modes that would have more words, so I was hoping there was a quick and dirty simple way through.  What you are showing is the only method I can find to work as well.  Thank you so much for you help and time.

  • Nested beast modes would take care of this pretty quick, so you could reuse code and keep busy beast modes simpler. Until then, to crazy town we go.

  • I read your message to mean the field would contain a string of comma separated values like 'A,B,D'.  In that case, the LIKE style statement would be correct.  If the column is only ever a single character, @KurtF's response is the better, simpler way.