Filtering Dishes by Type

I need to filter a restaurant menu for Halal, Vegan, Vegetarian, and a few others.

I have tried this in two ways:

  1. Filter to Show Dishes where Dietary Restriction is Restriction of Signed In User

This works in every instance except when a user has no dietary restrictions. In that case, no dishes will show.

  1. Use an In-App Filter for my Dietary Restrictions Array Column

This is okay, but it performs an OR filtering when I need it to be AND. For example, if someone is Halal and Vegan they need to see only dishes that are Halal AND Vegan, where it is currently showing Halal OR Vegan.

I have switch components for each dietary restriction because someone may want to turn on/off their restrictions. I figure the solution involves some spreadsheet magic but I can’t seem to wrap my head around it. What I really need is just a “default case” to show all dishes if there are no matches in my filter.

Does anyone have any good solutions for this?

Probably you can try adding a template column in the Dishes sheet to take the restriction of the signed-in user, then add an If Then Else column. If template column is empty then Visible, else if dietary restriction = user’s restriction then Not visible, else Visible.

Filter by If Then Else column equals Visible.

Sorry if I got this wrong, but by your point 2, a user can have multiple dietary restrictions, is that correct, and you collect them when the user creates their profile?

I hope this helps. It sounds like the same kind of setup.

2 Likes

Suddenly, this thread helped me. Thank you for creating it, OP.

1 Like

@Tyler_Scheviak
So @Jeff_Hager answer is correct. I have done it and it works very well.

But if you have only in one condition it is not working and doesn’t wonna take headache relationship, lookup, if else then have 2 list and if no dietary restriction is selected then set visibility for one which shows entire list and hide the one and vice-versa.

Not a good solution but a workaround for easy solution.

2 Likes

Yes, someone can have multiple restrictions. I have figured out how to filter for specific restrictions well via a relational column/lookup for who has restrictions. However, my default case should show all dishes instead of none. Jeff’s solution below shows this in action, but I would like to do this using switches if possible.

Hi Jeff, thanks for sharing. It does seem like a similar setup and I think it will work. I wish there was a built-in way to do the multi-match filter, but I guess I’ll have to try that for now

I just did this- nice fix! The filtering is still not an “AND” filtering annoyingly (won’t show dishes that are Vegan AND Halal, just Vegan OR Halal) but I really like the different tab visibility