Choice Component - multiple selections

If you have a set of food to pick from and want multiple food to be included then you can use as many columns as you need, I think.

Over time, if you want people to add new choices, then just show a text entry in the form saying if you didn’t find your item, write them out here.

What do you want to show in the chart, may I ask?

1 Like

Thanks, still think I need to map out how to structure everything. I want to track monthly/weekly food items against a variety of other metrics.

1 Like

Hi @Drew, I’ll chime in. All in all, your data structure seems fine to me.

My rows are dates. If I create a sheet for a pick-list of food items, I can currently select a food item for that day and enter it into the row for that day. Obviously I’d want to be able to add multiple food items.

One of your sheets is a log of the foods you’re eating, by date. So each row represents a time period (you chose days), and this makes a lot of sense.

For each day (row), somehow the system needs to know what foods were eaten on a given day, so there needs to be an association (this is not a technical term). So it makes sense to have one food item per column, for instance “Breakfast item 1”, “Breakfast item 2”, “Breakfast item 3”, “Lunch item 1”, “Lunch item 2”, etc. Why one item per column? From a data perspective, it is easier to handle the data when each data point is separate from the others. Inconvenience here: you might need to go to number 10, 15 or 20 for each meal of the day, depending on how granular/precise you want to be.

If I create a sheet for a pick-list of food items, I can currently select a food item for that day and enter it into the row for that day

Supposing the foods you eat can be chosen from a list, it makes sense, in a separate sheet, to have a running list of “foods”, “drinks”, etc.

I don’t quite understand the power of relations yet

A relation allows you to relate a table (a tab in your spreadsheet) to another table (a different (or same, but let’s not get into that) tab in your spreadsheet. In your case, you want to relate “days” to “foods”.

Example: On “Day 1” for breakfast your drink “Milk”. In your app, somewhere in a component, it says “Day 1”. Because in row “Day 1” your indicated “Milk”, you can also display “Milk” in that same component. Now let’s say you wanted to display information, for instance calories from a “Calories” column, from the “Milk” row in your “Foods” tab (this is another chart). This is where the relation comes in. With a relation, though your component still seems to be fetching data from row “Day 1”, it actually sees “Milk”, relates that piece of data to another chart, looks at the “Milk” row. With the relation, you’ve fetched an entire new row from a different chart. Now to fetch a specific cell (in my example “Calories”) from the “Milk” row, you will use a lookup.

to be able to do individual food item tracking, will those additional columns of food items for each day need to be on the main sheet? Sounds like I need a column for each food item?

Yes to both questions, I would agree with you.

Another problem I have is how to add / modify that list of food items so users can add new food along the way.

I agree with @ThinhDinh: “if you want people to add new choices, then just show a text entry in the form saying if you didn’t find your item, write them out here.” You would allow your users to write (=add) food items to the “Foods” list.

My answer is a tad long, but I hope it helps somehow.

3 Likes

Super helpful, I appreciate you taking the time!

1 Like

Thanks to @nathanaelb and @ThinhDinh, I’ve figured out how to work around the multiple choice by using 5 choice drop-lists that hide unless the previous one is populated. I also created an add form when a user can’t find a (food) item already in the list. Works well.

So this is great and all, but now I’ve hit the 500 row limit and I have so much more that I want to add. I’m going to post in the main forum, that Glide’s pricing structure sucks. I’m at a crossroads of whether to continue testing the capabilities of glide and pay for it, or look to a different platform. For all of its abilities, it has a lot of limitations. I’m a UX guy, not a data scientist, but I’m not an idiot, I can figure this stuff out. I’m going to research other options and see what’s out there before moving ahead.

1 Like

Hey @Drew, your feedback will be useful to the Glide Team.

My 2 cents. The “Personal/Free” plan allows you to try out Glide, the limits are such that if you build an app that scales, it will probably affect cost. After all, Glide is a business and they monetize the platform by selling subscriptions.

That being said, maybe you will find a way to make your app – that seems very useful – work for you. Ideas: you could submit your app to the template store and have the revenue from that pay for a Pro subscription. Or you could share you app with friends and family and have everyone chip in some to cover the cost. Or if you’re confident enough, you could go to market with your app and see what happens :slight_smile:

I’m happy @ThinhDinh and I were able to maybe help a little.

2 Likes

Hi,

A little late but I think what you were looking for is something we discussed here days ago Choice component MULTI-SELECT: now a dream, soon a reality?

Saludos

1 Like

Good points, but I would prefer a plan that would allow me to fully build out my vision before distribution. I wouldn’t be monetizing until then either. I don’t love the idea of paying to see if the product works and then finding that it doesn’t. It’s not the $5/mo for 500 more rows - I can surely manage that, it’s more the principle and the fact that the Pro plan has capabilities I can’t even try.

I’m doing a lot of whining here. Apologies for that to everyone. It is a good app, just need to figure out if it’s right for me.

2 Likes

@david @JackVaughan @Ian

@Drew, I think you make very valid points that have been brought up elsewhere: the ability the test out all available pro features (if maybe limited to a certain period) might be a necessary condition to app developers wanting to adopt Glide as their platform of choice.

I found myself in a similar situation a few months back when I wanted to have access to all features, first to see if Glide was for me, second to actually learn the full set of features. I decided to purchase a yearly pro subscription and saw it as the cost of learning a new skill.

In case you don’t know, paid subscriptions are prorated based on days, you can cancel anytime, and a subscription is not “stuck” to one app (ie. you can upgrade and downgrade to your liking).

3 Likes

Thanks for the info @nathanaelb !

1 Like

You’re welcome :+1:t2:

Could you share in more detail how you’re doing that? I have a very similar problem, breaking my head on it.

Hi Yann, it’s been almost half a year since I posted that comment, there might be better ways now. Can you clarify your situation so we can help?

Hi, thanx for the fast reply!

I am building an app, which is in many ways similar to classified ads - users make their posting and attached certain categories to them (only 1 per post, I guess). Other users search for posts, that fall into one or more categories.

To make things worse, the list of categories is two-level (like “Sports&Outdoor” is the top level, “hiking” is the second level. I figured out, how to make that, using an inline list with a children-parent relation within the sheet of categories.

So I have now a two-level list of categories with checkboxes, where a user can check any number of categories, and this is preserved in a user-specific “Checked” column on the “Categories” sheet. What I need now is a user-specific column in the “Posts” sheet, that will be “true” if any of the checked categories matches with the category of the post.

For other filter criteria, I used the multi-level filter, created by @Robert_Petitto (the one that uses an intermediate single-value column), but it can’t be used for multiple selections.

So your ultimate aim is to have a column that includes all “checked” tags, is that correct?

1 Like

I am not sure. My ultimate aim is to have a filtering criteria. As far as I can understand, it has to be done in several steps:

  1. A user checks the categories he or she would like to search in. In the “Categories” sheet each selected category has “true” in the “checked” user-specific column. (This is done)

  2. In the “Posts” sheet there’s a user-specific column (say, “Search categories”), that contains all categories, that have “checked” = “true”.

  3. In the “Posts” sheet there is a user-specifci “If-Else” column, which has the following conditon: “if the value of the “Category” column matches any of the values in the “Search categories” column, then true.”

I don’t know, how to achieve 2, and I am not sure 3 is possible for multiple values in a cell. So perhaps I am thinking it all wrong.

I think I’ve done something similar to what you’re asking for in this app.

  1. A user-specific column to check a category as true
  2. An auxiliar sheet to save the pair user - category Id
    image
  3. A column in the profile sheet with a formula to join the list checked by each user (may be, this could be done inside Glide editor with a relation and a join column)
  4. A column in the posts sheet with an if-then-else to show only items which category is included in the previous column
    image
1 Like

Looks great, thank you! But I can’t figure out, what do you need step 2 for?

1 Like

As I mentioned, 2 and 3 may be done with a relation and a join column. I use step 2 because I need that student’s parents can access to the rows each student has checked, which wouldn’t be visibles to them because of the user specific column.

1 Like