I am trying to build an app which allows a parent to add data for their children. Now, each parent may have 1 → many children. My flow would be something like:
Parent registers. Adds their children to the app on a sheet.
Each day, parent logs a record for each child who made their bed.
I would like it to be a single button which (ideally) you could select all those children who made their bed and log the records to a sheet
I’ve outlined the proposed data structure below. I think this is stretching the current capability of Glide but wondering if a similar thing can be achieved with Zapier or equiv. Would love to hear if anyone has has overcome similar challenges.
Hi Richard. And welcome to the forum. I think you’ll find this is a great community.
There are a couple of approaches: One is, as you’ve shown, to create a new ROW in Sheet 3 for each entry. But that will quickly fill your app with lots of data-light rows. You want to minimize the number of rows because of the way you pay for Glide apps (or not). Also, a little data-density will make it run more efficiently.
I think the way I’d go about it is to create a form that builds a single ROW entry in sheet 3, either for each day - with multiple tasks - or for each task to be logged. Here’s an example that creates a single row per user per day.
You’d need to build out N-number of columns for each task, but the shot above shows what it would end up looking like in Glide table. You’d need to choose an artificially high number for N to account for the bigger families.
Then, create form for each task, with a relation to Sheet 1, where you’ve got each user’s kids in the User’s row. I’d have to play with it a bit to see what’s the best way to pull those kid’s names into the form… but this should get you started.
Do you have an upper limit of how many children a parent can register in the app? I’m thinking you can have multiple “child name” columns in the same row then use a choice component to sequentially populate those columns.
Thanks @ThinhDinh and @belzoni for the hints. Thats certainly given me a different angle to think about. I do take the point of making it more data dense. A row for each “parent” per day and a column per child might be the way to go as I think I could just have the upper limit set to something like 5 children.
One of the enhancements I’m going to look at is to be able to extend the detail of the children, probably initially just be gender so that I can run an inter family competition eg boys vs girls so I would need to capture that somewhere. I think this might be able to be achieved by relations but I’ll need to check.
Anyhow, thats definitely given me some food for thought so I’ll have a crack and see how I get on and let you both know. Really appreciate it, thanks!
I’ll throw in a suggestion too. Maybe kind of a hybrid of the other options. You’ll have to use a custom form for this as it will have to update the sheet in real time. What I would maybe do is still write one row per task, but you could probably have a checklist of children. The checklist would be attached to the ParentChild sheet and the check box would be attached to a user specific column in the ParentChild sheet. You could check off each child the task pertains to, then pull that into the sheet you are using for your form through a relation and a joined list. This way you could have a comma delimited list of children in your DataLog that you can then split and use for a relation back to the ParentChild sheet.
That’s a rough example and has some limitations. I would check out this thread and maybe take a look at @Roldy’s example where he saves the selections.
Just a quick update. I’ve grabbed a bit of time tonight and I think i’m making some progress with the example shown by @Roldy in the thread @Jeff_Hager suggested. A bit of black magic going on there for me, so a bit of learning to do but I think thats going to get me what I need. I’ll post a further update once i’ve fleshed it out further (hopefully in the next couple of days)