# BigTables limitations for computed columns

**URL:** <https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187>\
**Category:** Ask for Help\
**Created:** [November 28, 2023, 10:10am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187 "2023-11-28T10:10:33Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![MattGlides](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@MattGlides](https://community.glideapps.com/u/MattGlides)\
**Post date:** [November 28, 2023, 10:10am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/1 "2023-11-28T10:10:33Z")

</div>

I’m wanting to move my Transactions table to a BigTable as it’s getting too big. Currently the client’s pull a CSV file of their Transactions from the Transactions table. My questions are(for reference I did read the docs so I know some are technically “answered” but the wording confused me a bit):

- Can a CSV(or PDF or both) file be created using BigTable data?

- Do relation and look-up columns work the same way in BigTable? I.E relate customer ID in BigTable Transactions to Customer ID in Users table and look-up their name, then number, etc?

- In User’s table can I create a relation column to BigTables Data?(I think this was a limitation in docs?)

- Do ITE columns work in BigTables?

- Can I create a query column in BigTables and use it as a source in layout?

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [November 28, 2023, 1:25pm UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/2 "2023-11-28T13:25:27Z")

</div>

> **[Big Tables | Glide Docs](https://www.glideapps.com/docs/essentials/data-sources/big-tables#limitations-of-big-tables)**
>
> Scale your app with up to 10 million rows of data.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 29, 2023, 1:04am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/3 "2023-11-29T01:04:12Z")

</div>

> [@MattGlides](#):
>
> Can a CSV(or PDF or both) file be created using BigTable data?

PDF I haven’t tried, so I’m not sure. Generally with a PDF you’re just working with a single row of data, so I expect it should be fine. CSV is a bit different because you’re working with multiple rows of data. The CSV Integration doesn’t work (I’ve tried it), so you’d need to roll your own solution. Two options that have occurred to me:

- Pre-generate the CSV for every row and save it in a non-computed column. You could then use a Joined List to aggregate that through a Query for several rows. Probably the simplest option, but it would mean that the CSV structure is predetermined and couldn’t easily be changed.
- Another option could be to use a series of Joined Lists to aggregate all the data required, then use a JavaScript column to create the CSV. I’ve actually done a proof of concept with this option, and it does work, I’m just not sure how well it would scale.

> [@MattGlides](#):
>
> Do relation and look-up columns work the same way in BigTable? I.E relate customer ID in BigTable Transactions to Customer ID in Users table and look-up their name, then number, etc?

Yes.

> [@MattGlides](#):
>
> In User’s table can I create a relation column to BigTables Data?(I think this was a limitation in docs?)

Yes, you can.  
I suspect the limitation that you’re thinking of is that you cannot use a Big Table as the source of your User Profiles table.

> [@MattGlides](#):
>
> Do ITE columns work in BigTables?

Yes.

> [@MattGlides](#):
>
> Can I create a query column in BigTables and use it as a source in layout?

Yes.

---

<div class="post-metadata">

**Author:** ![MattGlides](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@MattGlides](https://community.glideapps.com/u/MattGlides)\
**Post date:** [November 29, 2023, 6:36am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/4 "2023-11-29T06:36:06Z")

</div>

> [@Darren\_Murphy](#):
>
> PDF I haven’t tried, so I’m not sure. Generally with a PDF you’re just working with a single row of data, so I expect it should be fine. CSV is a bit different because you’re working with multiple rows of data. The CSV Integration doesn’t work (I’ve tried it), so you’d need to roll your own solution. Two options that have occurred to me:
> 
> - Pre-generate the CSV for every row and save it in a non-computed column. You could then use a Joined List to aggregate that through a Query for several rows. Probably the simplest option, but it would mean that the CSV structure is predetermined and couldn’t easily be changed.
> - Another option could be to use a series of Joined Lists to aggregate all the data required, then use a JavaScript column to create the CSV. I’ve actually done a proof of concept with this option, and it does work, I’m just not sure how well it would scale.

Okay so currently every time a PDF invoice is generated, on our end, it gets saved in a basic text column along with all the other data about the transaction like so:

 ![Screenshot 2023-11-29 082526](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/5/b/5b9f8ef52ee6d7301aac06f12ee756a38d8590ed.png)

When they request a statement we have a relation column in customers to pull the transactions for that customer, then use a query column to filter it based on the dates they picked like so:  
 ![Screenshot 2023-11-29 083237](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/e/fe10c2194b12009fcb1318bd10a7cd038ecb1f4f.png)

We then generate a CSV file based on that query and send it through to the customers that looks like the following(including pdf invoice link):

 ![Screenshot 2023-11-29 082742](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/c/acca67b97d39ffef7574fa7da33ac799947ae383.png)

If our transactions table is in BigTables, but our customers table is still in Glide Tables, would this method still work? Pulling the data via a relation from BigTables, into Glide tables, then generating a CSV from there?

If not what would you recommend?

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 29, 2023, 10:37am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/5 "2023-11-29T10:37:16Z")

</div>

> [@MattGlides](#):
>
> If our transactions table is in BigTables, but our customers table is still in Glide Tables, would this method still work? Pulling the data via a relation from BigTables, into Glide tables, then generating a CSV from there?

I think that should work, as long as you are only fetching non-computed columns via the relation.  
But I would recommend testing it before committing to making wholesale changes.

---

<div class="post-metadata">

**Author:** ![MattGlides](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@MattGlides](https://community.glideapps.com/u/MattGlides)\
**Post date:** [November 30, 2023, 6:08am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/6 "2023-11-30T06:08:53Z")

</div>

So if I’m currently pulling relations from a normal Glide Table that has a bunch of computed columns, and I want to change that relation to a Big Table while keeping the same info, then I should leave the computations in that Glide table, add a button that takes those values and writes them into basic columns in the Big Table, and then use those basic columns as the look up for relations?

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 30, 2023, 6:15am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/7 "2023-11-30T06:15:04Z")

</div>

Yes, that sounds about right.

---

<div class="post-metadata">

**Author:** ![MattGlides](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@MattGlides](https://community.glideapps.com/u/MattGlides)\
**Post date:** [November 30, 2023, 7:16am UTC](https://community.glideapps.com/t/bigtables-limitations-for-computed-columns/68187/8 "2023-11-30T07:16:22Z")

</div>

Thank you so much, also does BigQuery work with Glide’s BigTables?

Also when you duplicate an app(to test BigTables) which option pulls the data but WON’T affect the main app? ie if I delete a basic name column it won’t delete the column in the main app, which option out of the 2 is it?
