I see. This may be a bit challenging. You may have to adjust your approach. Instead of 10+ yes/no fields, instead, create a new Table named “Filter” or something like that. The only field you need for this new table is a text field (we’ll name it “Title” for now). Examples of a Filter would be Producer, Engineer, or Teacher.
Now in your User table, create a new “List of Filters” field. Users can add Filters to their “List of Filters” field.
So when searching, instead of having 10+ checkboxes, you only need a repeating group with the data source being “Search for Filters”. Inside each cell of the repeating group, there could be a text element (to display the Filter’s Title) and a checkbox icon (to show if the Filter has been selected).
To complete this, you’ll need to create a custom state (we can name it Selected Filters). When a Filter’s checkbox icon is clicked:
-
If Selected Filters contains this cell’s Filter, remove it from the Selected Filters list.
-
If Selected Filters doesn’t contains this cell’s Filter, add it to the Selected Filters list.
Now when you’re filtering Users in the User repeating group, the only constraint you’ll need is through an advanced search:
Current User’s List of Filters intersected with Selected Filter’s count is equal to or greater than Selected Filter’s count.
This expression means that only Users who have at least all of the Selected Filters in their List of Filters will be shown.
This means no Users will show up when the page is loaded. This is where you use the conditional statement in the User’s repeating group:
When Selected Filters is not empty, you use the advanced search. When Selected Filters is empty, you show all of the Users, regardless of their List of Filters.
I know that’s a lot to digest but please go through this step by step. It’ll work!