Using one-dimensional tables


I want to use a one-dimensional table to record user choices, but I can’t figure out how to organize relationships and relationships.
Can you please give me a hint?

I can write each question in its own column, but then the table would have too much dimension - 2-3 thousand columns. It would be very difficult to work with it.

Examples of the table, as I want, on the image. There is also a table made as usual

Are you saying that you could potentially have 2-3 thousand questions for each user to answer? Could you explain your use case in more detail? If I understand correctly, your ideal one-dimension layout could explode with row usage if each user has 2-3 thousand questions (rows). You second option is better for row usage, but that is a lot of columns. I think we need a better understanding of you use case to determine the best way to structure it.

Thank you for your reply.
The general idea is that I want to make an app to help migrants. It will contain solutions to various problems. Each task is a set of steps. For example, the step “Checking the basis of reidence” consists of 4 steps. At the end of each step we get some information from the user (e.g. how many children he has, whether he has a work contract, etc.).
It would be convenient to use a one-level table to store all the steps for different tasks. Otherwise, you would have to create a separate table for each task, and you would have to manage dozens of such tables.
I know how to organize it from a database point of view, but I don’t understand how it can be organized in Glide.
I would appreciate it if you could help me understand.

So you want to store each answer for each individual Task/Step(question) for each user as a separate row, correct? I assume you already have a sheet that lists each task and question? I’m thinking you could create a list of Tasks/Steps and then have a user click through to view the details of each step. From there you could have a form button for the user to enter their answer as well as automatically pull in their user email, date/time, Task and Step and write it to a separate sheet. As they click through each question, they would submit a form for each answer and it would write as individual rows. You could simplify it a little bit by adding user specific “answer” column on the master Tasks/Steps sheet, then we viewing the details for each step, you would simply provide an “answer” text entry component and a button. The button would have an Add Row action that would write the answer, user, date, task, and step to a separate sheet.

Jeff, hello.
Thanks for the tip. Your solution worked and I learned how to collect answers to different questions from users.
But another question came up - how to make a user only have one line with an answer for the same question? Now, when selecting different answers, new lines are created rather than editing an existing one.
And how can the form fill in the values already entered by the user as “default values”?

(In particular, read Jeff’s final paragraph there very carefully)

Hi all. Found a solution that suited me. Not completely, but I don’t see any other options.

  1. I created a separate column for each Task, each question that needs to be answered. The table of answers associated with the table of users in the email field.
  2. I have created a custom action. If the user has not yet given an answer, it showed the form. If the answer was given, then made a link to screen.

The problem is that for each action I had to make two similar interfaces - a form and a screen. It would be hard to maintain it all. But if the developers will introduce a tool, through which user can manage his data (add and edit in one place), then I will redo it.
Maybe it will be useful for someone :slight_smile: