BigTables as CSV Source Data

I am storing all of my Transactions in BigTables and want to send a CSV file of all the customers Transactions when my customer requests them. There is no option to use my BigTables as CSV source data, nor the query’s I have relating to BigTables. Is this intended? Are we not able to make CSV’s with our BigTables data?

I have the same challenge, and I’ve come up with two possible workarounds:

  • Pre-generate the CSV for each row and save it in a non-computed column. You can then use a Joined List through a Query or Relation to build a CSV file from many rows. The downside to this approach is that the CSV is fixed. That is, you cannot easily add/remove columns from the export.
  • The second option is to use a series of Joined List columns - one for each required column in the export - and then use a JavaScript column to generate the CSV file.

I’ve tested both options, and both work. The second is more flexible, but may not scale well.

So I’ve saved a CSV generated in Users into my BigTables in a non-computed column. I’ve then made a joined list of all the CSV files, however Query column does not let me use it as a source? Also tried doing a joined list of the CSV INSIDE of my Query, however that also did not work for source data.
Screenshot 2023-12-12 111656

Something doesn’t sound right there. Why would you use a Joined List column as the source of a Query column? That doesn’t make sense.

The approach should be:

  • Query column to apply the necessary filters
  • Joined List of CSV rows, using the Query column as a source.

So then this is Query Column:


Here is my joined list column:

However neither can be used as the data source of a CSV?

Yes, that’s correct.
But your Joined List is your CSV.
You just need to change the separator from a comma to a line break. As long as the CSV Link column contains properly formed CSV then you should be good to go.

So what you’re saying is that you use the joined list as the source for the email you send out, and if so would they get one whole CSV file with all the values or would they need to open one by one per transaction?

Depends how you send the email.
I always use a webhook to Make, and then map the CSV as an attachment using the Gmail module.
I’m not sure how it would work using the Send Email action, as I’ve never used that.

Try it and let me know :slight_smile:

And when it goes through Make, even if theres 16 CSVs, it will send as one CSV attachment that has all 16 CSVs inside of it instead of them clicking on by one on 16 different links, is that correct?

Whatever is in the Joined List gets mapped to a single attachment.

@MattGlides - take a look at the below. I’m essentially using the exact same technique for Big Tables, with the only difference being that the Joined List targets a non-computed column in the Big Table.

2 Likes

Hi Darren, so just to clarify the issue I am still running into:

The current User experience with normal Glide tables is that they request a CSV file, and we send one that has all the rows of data relating to their transactions.

Using BigTables I have created a CSV file for each transaction, I watched the video and did the joined list of the basic column that has the CSV file link, now the issue is that whether its through Make or Glide’s Gmail, it is sending them one attachment with 30 different CSV links to open for each transaction.

In this example I only have 2 transactions, and as you can see Make is outputting 2 CSV’s files.
Screenshot 2023-12-13 183056

Just jumping in here without fully reading everything, but I think the point was to create the comma delimited value in each row (just a text column of comma delimited values). Then in another table use a Joined List to merge all of that text together with a line break separator so you end up with one massive text string of CSV. Finally create one CSV file from that joined list. Seems that you created separate individual CSV files for each data row in the big table instead of just comma delimited text???

1 Like

Okay so if I’m following what you’re saying correctly…
-Create a template column in my working table with comma delimited values
-Write that column into a non-computed column in my BigTables Transactions
-Do a Joined List of whatever transactions the customer requests using the non-computed column with a line break separator
-Send that data to Make, and using the attachment function in Gmail, make the file name exports.csv

This should send it all the data through as a CSV file? Am I misunderstanding anything?

1 Like

Correct :+1:

1 Like

Ok it worked, think I misunderstood the wording the first time and then just took that through to interpreting the video too. That’s my bad.

This is such a cool way to do it though, wowow. Thank you, much appreciated