Multiple Columns of Data Merged in Glide?

Has anyone come up with a way to merge three columns into one column within Glide so that all the data from one column is stacked first, then the second, then the third, then the forth… creating a range 4x the length of the original columns? This can be done in Google Sheets using a formula, and from what I can think, it’s the only way to create an inline list that shows values from the same row of data in a sheet… by creating two of these merged columns side by side, with one having all the values of the four different columns and another having a distinct identifier per row of data that would be able to find the four column-values per row if using a relation column…

… unless there’s another way to create an inline list that displays data from the same row that I’m not seeing.

Do you mean something like this? Just trying to get a visual.

Column 1 Column 2 Column 3 Column 4
x1 y1 z1 x1
x2 y2 z2 x2
x3 y3 z3 x3
y1
y2
y3
z1
z2
z3

That’s exactly what I mean.

Let me think about that and I’ll see if I can come up with something after I’m done working.

Then in if Column 5 had unique IDs for those first three rows:

COLUMN 5
ID1
ID2
ID3

Column 6 would look like this:

COLUMN 6
ID1
ID2
ID3
ID1
ID2
ID3
ID1
ID2
ID3

Then I could either do a relation column between Columns 5 and Columns 6… or I can create an inline list of this sheet and if instead of ID1,ID2,ID3 I use email addresses and filter the Inline List by Signed in user. Then I’d get a nice inline list showing just those three columns per user.

This is like doing chess puzzles…“fun” can this be done scenarios lol.

Nothing comes to mind, but the genius-ness of @Jeff_Hager always impresses. Following!

I’m currently building this all in Sheets. It’s not fun. And it’s basically chipping into my 25k rows by essentially adding an additional 4x the number of rows as there are users in the app. There should really be a better way to display a row of buttons in the app that can show data from the same row with different images. I’m sure it’ll come eventually… just hopefully not before I hit 25k because of this hacky solution…

UNLESS… the genius of @Jeff_Hager can happen!!!

Ya…I ran into a similar issue with my inventory app. The only way to get my item store to see if the user had enough funds to purchase was to add a line for each item for each user. 100 users? = 1000 rows for a 10 item store. :unamused:

Try this:

=filter(unique({A3:A;C3:C}),NOT(ISBLANK(unique({A3:A;C3:C}))))

It’s something I found on one of my sheets from last fall. I have entries in A:A and C:C, it gave me one list of emails.

1 Like

Thanks. I’ll see if it’s better than what I have. But I’d really love to keep this all in Glide. I currently have a solution in Sheets. But it just means a new sheet and 4x the number of rows there as users.

Oh, I get it, looks like I misunderstood the question. (That happens a lot these days, sorry.) Doing it IN Glide is beyond me at this point. I hope you find the answer so I can steal it for my own use. :slight_smile:

1 Like

This seems similar to a situation I ran into awhile back. In that case I was trying to create a lookup column that pulled back an array column. I don’t think anything came of that request.

Taking my example from above, what I attempted to do was create an array column. I also created a key template column so I would have the same value on every row. Then I created a relation on the sheet to itself using the key column, so every row would have a relation to all rows in the sheet. Looking at all of this, I really couldn’t get any further or figure out how to join multiple columns together in at least a lookup array column. Even using the ‘column’ array from (column 1, column 2, column) as a relation to itself wouldn’t give me anything close to what I was looking for.

So the only option I can think of is to first add your ID column, whether it’s RowID or however you want to create it. Then add a template column with any value you want, but so it’s the same on every row. Then create a relation column that links that template back to itself. Then create 3 inline lists that all point to the same relation column. The only difference is that the first list will display Column 1 values on the list, the second list will display Column 2 values, and the third list will display Column 3 values. This will give the appearance of one cohesive list. I think the ID columns will display how you want in a repeating pattern. The only catch is that all three lists will be pointing the same sheet, so the design of the details view for all three lists will end up being the same (which I think would have been the case no matter what).

Hopefully that makes sense and is ultimately what you are looking for.

I think this may work. Trying right now.

Oh wait, but with three inline lists, that means the column values will be presented stacked rather than in an inline list row… I forgot to mention, I’m trying to get the inline list to display the three columns of data horizontally rather than vertical.

I got it working using Google Sheets. Those four gemstones are all presenting data from the same user’s row. So they’re clickable cause it’s a tile inline list. I just had to build it all in a new sheet with every user getting four rows in that new sheet, each pulling the data from a different column of the original user sheet. All so I can present four buttons horizontally. Jeeze.

Presenting this same data vertically and I wouldn’t need to do any of this. But I want to present buttons horizontally. I think a lot of us do. It’s cleaner design in so many use cases. I really hope we get some kind of component that allows us to place several buttons horizontally that can each be configured somehow.

Also really really really eager for the button choice components to finally be styleable. Or a style other than my app’s accent color. That white on fuchsia is just not readable at all. :frowning: I imagine there are others with dark mode apps and lighter accent colors that are getting such hard to read choice buttons.

1 Like

@Jeff_Hager I’m pretty sure my issue falls in-line with this, but I can’t quite figure it out.

My goal is to have all of my part numbers, which are stored in multiple columns, show up in a single Choice button.

My columns are organized such that…

  • Column 1 contains all products associated with Opportunities 1 - 999
  • Column 2 contains all products associated with Opportunities 1000 - 1999
  • Column 3 contains… etc

This, unfortunately, is the format our data is reported in. We also have many, many products - way more than 25,000.

I have my columns labeled so that Glide creates an array column. I also tried following the steps you took by creating a column called “P” in GS which ensures every row in that column contains the string “Product”. This is where I stopped and couldn’t quite get what I as looking for with various combinations of relations and lookups.

Any advice on how to combine all of my part numbers from various columns into a single column?

Thanks

I believe what you need is this column. This thread was started when this column was not available.

https://docs.glideapps.com/all/reference/data-editor/computed-columns/joined-list

Thanks, @ThinhDinh but it doesn’t look like a joined list will work with an array column.

So you want to combine multiple values from multiple columns in a single row?

I would like to combine all of my products - which are stored in separate columns - into a single column.