Filtering repeating group by list match

How do I filter a repeating group of items so that an item will show if at least one of its related data types has at least one match?

Example:

  • An episode can have multiple guests
  • Guests have an age
  • Age ranges in filters are presented to the user as an option set with a min and a max value

I’d like to set an age range (26-30) and show all episodes where at least one of the guests match the age range filter. Possible? How do I do this?

You can create options set for episodes, guest and age range. You can filter repeating group from dropdown list, input search et. and use constraint to match the type.

The “episode” data type have to include a correlation list filed fo guests (of type “user”), and the data type “user” have to include a filed for age (let’s suppose it’s type is “number”). then the filtering can be done with constraints of the data source of repeating group, so the data source will be “do a search for episodes” and the constraint will be “guests contain do a search for user” and with this last “do a search” there is a constraints which are “age >26” and “age<30”.

The age fieled type can be “numeric range” istead of “number”, which mean that this filed store a range contain the user’s age, so istead of tow constraints for age it will be one constraint. But the age filed type generaly is “date” not “number”, so you may need to do some mathe.

you may add an age field of type “date” in the “user” data type and in the “episode” data type you may add a list field of type “numeric range” to store a the list of ranges that contain episode’s guest’s ages, this need to do some math when creating new episode in workflow, so in the data source of the repeating group you will search for episodes and it’s constraint you wil use that “numeric range” filed to filter the results without need to second “do a search”.

tl;dr:
I’d like to filter Episodes in a repeating group list to show only episodes where at least one of the guests has an age that is greater than the minimum value in the selected range and less than the maximum value in the selected range.

I think we’re getting closer @salemmo409, thank you.
Let me try and be more clear with what I’m trying to accomplish.

I have the following related data types:

Episode

  • Title (text)
  • guests (List of guests)

Guest

  • Name (text)
  • Age (number)

Age Ranges (Option Set)

  • Name (text)
  • Max (number)
  • Min (number)

Each episode can have multiple guests, and each guest has an age. I’d like to be able to filter a list of Episodes in a repeating group so that if a user specifies a range of ages, they can see all episodes where at least one guest has an age that falls within the selected range.

Example:

  • Episode One has one guest: Guest A (age 84)
  • Episode Two has two guests: Guest B (age 85) and Guest C (age 24)
  • Episode Three has three guests: Guest D (age 26), Guest E (age 65) and Guest F (age 36)

If my filter range is ages 30-39, I would expect to see Episode Three returned
If my filter range is ages 80-89, I would expect to see Episodes One and Two returned

How can I achieve this with filters for the Episodes list in a repeating group? I tried adding a list of ages (numbers) in the Episodes so I don’t need to do a deeper search, but the OR/AND statement wouldn’t give the right results depending on whether there were multiple Guests or one Guest.

So you will add a dropdown list display the the option set’s items, and the user will select one item from this dropdown, then the data source of the RG will be “do a search for episodes” which will be with a constraint which is “guests contain do a search for guests” which in turn will be with constraints which are “age >dropdown’s value’s min” and “age<dropdown’s value’s max”.