Filtering List from Dataset with Many-to-Many Relationship

Hi everyone, would really appreciate if anyone could chip in with any ideas to the problem I’m currently facing, literally any idea you could think of will be of great help to stimulate myself to solve it as well. Details as below.

App Overview:
It is an event aggregator app, where each event can have one or multiple categories.
Example:
X event categorized as a Business event.
Y event categorized as a Data Science event.
Z event is categorized as both a Business and Data Science Event.
(Event data is inserted by admin directly into spreadsheet)

In this app, each user may select one or more preferred event categories.
Example:
User C prefers Data Science, Law and Mathematics categories.
(User preference data is collected via multiple choice component in Glide.
Hence raw data format is Category1,Category2,category3)

My goal for the main feature is to have a homepage where it has a list of events that are only within the preferred category of the currently logged-in user. (As long as the event has one category that matches the user’s selected preferred categories, it should be displayed to the user)

Problem:
Unable to implement the filtering of events tailored to each user.

What we have tried:
Using the filtering option from list component, using “includes in”, but that seems to see if the
text includes another set of text. Hence “Science,Mathematics,Law” not considered to include “Science,Law”

You should do it like below:

  • Use a split text column to split the user’s preference
  • Use a split text column to split the event’s category
  • Use a relation from the split preference to the split category, make it a multiple match relation, then use that relation to display to the user
2 Likes

Thanks ThinhDinh, appreciate the help. I proceeded with the suggested design for the database and for my front-end, I selected user as the source for the page, then inserted an inline list into the page which lists down all the events from relation column and it is working as intended.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.