Card filter - Contains

I have a card where I would like to use multiple contains statements.  Is this possible?  For instance, Product contains both Sunshine and mountain.

Comments

  • GrantSmith
    GrantSmith Indiana 🔴

    Do you know the values ahead of time you're looking to filter with or were those to be generated on the fly based on your dataset?

  • Most of the time I will know ahead of time.  But I would be curious how to solve both.

  • GrantSmith
    GrantSmith Indiana 🔴

    If you know all of the filter combinations ahead of time you can create a beast mode for with case statments to then return the "filter name" and add a quick filter based on those predefined options

     

    =Sunshine

     

    CASE WHEN lower(`field`) like '%sunshine%'
    'Yes'
    ELSE
    'No'
    END

    =Mountain

    CASE WHEN lower(`field`) like '%mountain%'
    'Yes'
    ELSE
    'No'
    END

    The downside with this approach is that you'd have several different filters a user would need to scroll through and maintain.

    Upside being you have more flexibility and less things to click on assuming you have a long list of possibilities.

     

     

    The other option is to add a quick filter for a text field (default Select All being unchecked and save your users a step) and then in the search text box you can add the wildcard character % inbetween your values. This will display any values which match those values however it is order dependent so you'd need to search "Sunshine%mountain" and "mountain%Sunshine" and select the resulting values listed.

     

    Neither option is exactly ideal but are ways you could filter based on multiple contains.

  • MarkSnodgrass
    MarkSnodgrass Portland, Oregon 🟤

    Great post by @GrantSmith . You can also nest your  CASE statement if that would cut down on your long term maintenance and in thise case just have one filter to check Yes to if you wanted see results for sunshine and mountains. It would look like this:

    CASE WHEN lower(`field`) like '%sunshine%' THEN
    (CASE WHEN lower(`field`) like '%mountain%' THEN
    'Yes'
    ELSE
    'No'
    END)
    ELSE
    'No'
    END
This discussion has been closed.