Help please - Indirect filtering


I have an app and I am unable to work out how to filter a data set based upon an indirect association with another list.

The app is a kind of tripadvisor app but related to a property.

The setup I have is that I have a property (house) and each property has a number of Areas (I.e. towns, neighbourhoods, etc.) associated with it. These are selected from a separate list and stored in the property record as a list of things.
I then have a number of attractions (places of interest - POIs), with each of these POIs being aligned to an Area. This is stored within the POI record as a separate field.
I then have a number of POI Categories (E.g. theatre, walks, museums, etc.) this list is an Option Set.
Each POI is assigned up to 3 relevant Categories. These Categories are stored against the POI record as a list of things.

Within the app - The user looks at information associated with a specific property (house). With the app showing the relevant POIs and Categories that are associated with the Areas the Property has listed.

How do I go about filtering the Categories list so that it only shows the Categories that have POIs within the Areas the property has listed? I am unable to figure this out!

So the association between the property and categories is…
The property record has a list of Areas stored in a list of things, each Area has a number of POIs identified as being in that Area.
POIs can have up to 3 Categories associated with them, which is stored as a list of things within the POI record.

So I can see that there is a relation between the Categories, POIs, Areas and the property but I cannot work out how you filter a data set (Categories) by an indirect association.

Any help would be welcome.

Indirect links cannot be looked up. They need to be found.

Consider using “search things: first item”

You an also consider using :filtered by an select “advanced filtering” that will give more possibilities. Don’t forget that filtering this way is slower than a direct filter.

1 Like

Thanks. I’ll see if that works

Thanks. I’m also conscious of trying to keep the app speedy!

1 Like

Thanks for the response. I have eventually managed to resolve this by creating a ‘carrier data type’ that is used to create the linkage between the two data types and then used a combination of filtering and ‘group by’ to provide the filtered list I needed.

1 Like