I am having trouble with the lowest child category being filtered by the highest parent category in a hierarchy. Example: I am working on an app for a civil construction company. We have a “Job” view that displays inside information related to each job. Inside the job view for a specific job there is a “Materials” inline list that conatains 27 different materials that the company uses for its jobs. When I click on one material “category” I need it to display the Material Logs for that specific material and job only. The material logs are submitted through a form button and that information is stored on its own sheet.
What’s happening now is this: I go into Job 1 “Job View” and then go to the materials inline list > I click on Material 1 to display “Material Log” form entries > I am getting Material 1 “Material Log” entries for not only Job 1, but also Job 2, Job 3, Job 4, etc.
I’ve played around with the filter options but no luck. I am unsure as to how an array column might work here, and to be honest I’m no pro when it comes to Glide so my relations may not be setup right. Any help is appreciated!
What are you using as the source for your Materials inline list? Are you using a relation, or just pointing it at your Materials sheet and trying to filter it?
What it sounds like you need is a multi-relation column that joins your Jobs table to your Materials table, and then use that as the source for your inline list.
If that doesn’t help, can you provide a couple of screen shots that show how each of your tables are laid out?
Thanks for your quick response! Attached are some screenshots of what my app looks like and the issue I’m encountering. I’ve also added a marked up picture of my sheet tab that I’m using to try and accomplish this. I have joined the Materials list and Job List into a single column on this tab. I have a “Data” tab where the Initial “Job” list is being held that relates back to the combined material & job list in the tab I’m trying to use (see screenshots). Then I created a joined list column, then an if>then column to recognize an indicator value (in this case “1”) to automatically set the parent of the Material to each job in the list. I had to create a split text column for the values to be able to be related in the relation column. Then I created a relation column for the material categories to link them to the “parent” job, and then related the Materials in the combined Job & Material list to the form submission tab.
All in all, I’m losing the relation between the top “Jobsite” indicator and the bottom “Material Log Entry” indicator.
I’ll have to reply with 1 image at a time as I am a new user. Sorry.
I suspect this was probably a mistake. I think by doing this you’ve made the task a whole lot more complicated than it needs to be.
When Materials are added to a Job, how does this look in your source sheet? Is there a separate row created for each “Material”, or are they somehow combined into a single row?
I think you’ll find this much easier if you keep Materials and Jobs in separate sheets/tables, and then just build a relation between the two.
I think the thing that is creating the issue is that every job uses the same list of default materials. There may be a material here or there that is unique to a job, but if that is the case, the company has asked to just add that material to the default list because if they used it once then they will most likely use it for another job. The materials list is not unique to each job (its universal), and materials cannot be added by users of the app, only admin on the back-end.
Also, I’ve achieved displaying the “Materials” inline list in a much more simple way, but I think the complex configuration I have now came from the need to display only the “Material Log” entries associated with the job you enter the menu from.
Okay, I see… I think
Assuming that I’m understanding correctly, I’d do something like this:
- Three tables:
- Material Logs (this one should include both a JobID and MaterialID column, that link to Jobs & Materials respectively)
Maybe that’s what you already have? (I can’t be sure).
- In your Jobs detail view, you can include an inline list that uses the Materials table as it’s source.
- When a user needs to create a Material Log entry, they would tap on the relevant entry in the Materials inline list, and then from there you can present a form to add the row.
The tricky part is that when each new Material log entry is created you will need to include the associated JobID, and that (by default) won’t be available to you. But what you can do to make it available is set a User Specific column in your User Profiles sheet to the “current Job ID” as part of the action that takes them into the Materials details screen. You can then bring that into your Materials sheet as a Single Value column, and use it when adding the new Material Logs entry.
From there, it’s easy - just create a multi-relation column from your Jobs table to your Material Logs sheet, and this gives you direct access to all Material Logs for each specific Job.
And if you want logs specific to a Job/Material combination, you can create a template that concatenates JobID and MaterialID, and again use this to build a relation.
Does that help?
(apologies if I’m way off the mark)
Thank you so much for your advice, but I had to go a different route. After hours of troubleshooting I’ve finally figured it out.
I was able to create a dynamic filter by using the “Choice” element for both “Jobsite” and “Material”. I then created a Template Column with “Jobsite,Material” format and created a relation relating that template column to a matching template column in the “Materials Log” entry sheet tab.
All in all, the desired navigation method was not achieved, but the desired information displayed based off of set parameters was.