šŸŸšŸ„–šŸ§ŗ Transpose Columns to an Inline List: The Miracle Method

Iā€™m often asked how to take columns of data (say form responses) and display them in an inline list. Hereā€™s one way to do itā€”the MIRACLE METHOD.

26 Likes

The template column as ā€œcurrent userā€ is genius and opens A LOT of doors for me. Thank you!

3 Likes

Good tutorial! Unfortunately, if it needs more items - you need to do all additional setup with the developer in columns. (I mean, it cannot be left to users to maintain it themselves)

This is trueā€¦theyā€™d have to create a new ITE column for each item and append that template column in Glideā€¦

Thereā€™s probably a way to use spreadsheet formulas instead, but I was trying to do it all in Glide.

Totally agree. It has become one the staple tactics I implement into any new app.
Props to @Robert_Petitto!

1 Like

brilliant!

1 Like

Not sure if this is better, but if you have to set up columns for new items, wouldnā€™t it cost less columns to achieve this by the following method? Iā€™m only using a screenshot of the table from your video to get the badges name for my example.

Use an If Then Else column, if Badges is Non-Smoker then you return the userā€™s Non-Smoker boolean, you continue that until Hydrates Regularly.

Then you can still do an inline list and filter that by is true/is not true.

Would it work?

Hmā€¦thatā€™s a great idea too! Probably less intensive for sure.

1 Like

We donā€™t need that long transpose formula anymore. Miracle job @Robert_Petitto

1 Like

Awesome!

I just needed to transpose an array and used an alternative method:

  • the new slice array plugin: Slice Array column ā€¢ Glide (glideapps.com)
  • with two helper columns for the slice function:
    start | end
    0 | 1
    1 | 2
    2 | 3
    ā€¦ | ā€¦
  • and a ā€œjoined list columnā€ of that sliced array elements to have one element as text per row.

Care to share an example?

I also had a use case for a variation of this method just today. I needed to dynamically generate a list for a choice component that included the month names for each of the previous six months.

  • Started with a series of 6 math columns to determine the 1st day of each of the previous 6 months
  • Then a template column to join those together into a comma separated list
  • A split text column to turn that into an array
  • And finally the single value trick, using N from start

This is a really useful method, and Iā€™ve found lots of use cases :+1:

4 Likes

Sure!
In my use case I have teams with email addresses in an array of User1, User2, User3,ā€¦ (and row owners).
I wanted to filter another sheetā€™s list (which user added what data?) though a choice component fed by the transposed user array (screen variable).
And I even could make an ā€œall userā€ choice with the values of ā€œstart:0"and end:Number of last userā€ in the helper columns.

1 Like

Perfect method, also to solve the problem of feeding a choice from an array ā€¦ with some modifications, but the concept is always the same:
I use an additional ā€œall purposeā€ table as if it were an array.
It was particularly useful for managing product sizes and colors.

1 Like

This is pure gold! Fantastic job!

1 Like

Hi, basic question, but in DataEditor, could we use an excel formula ā€œTransposeā€?
(even if I donā€™t manage to do it :slight_smile: )

Unfortunately no, Glide doesnā€™t know how to handle that formula.

1 Like

Hi @Robert_Petitto, thank you again.
Another question: can we do it the other way round?

My use case:

Sheet 1:
Dozens of questions in 1 column + answers in 1 user specific column.
I want to transpose answers then ā€œadd rowā€ into Sheet 2 (below).

image

Sheet 2:
The same questions but positioned by column (like if it was a questionnaire in a form).
I try this approach because I have many calculations to do per question.
If I directly collect answers in Sheet 2 (by column), I have to duplicate these calculations for each column.
While with the Sheet 1 approach, I can have only 1 column per calculation for all questions.

Thank you!

Hi,

Iā€™m trying to apply this method.
But how to clear entire column after submitting the answer?

Thank you!!!

You can use some tricks for thatā€¦ but doing that in a Glide tableā€¦ not possible yet.