AppScript AppSheet.table object exposing Virtual Columns

Can we expect to see AppSheet - AppScript integration exposing the power of AppSheet Virtual columns via an AppSheet.table object or something similar?

0 2 80
2 REPLIES 2

It would be interesting to hear your use case.

To answer your question, generally speaking...No.  The main reason is that Virtual Columns are highly dependent on the app data that is physically available to the user.  If there are 20 users in the app, it is possible for those 20 users to have a different value for the same VC column.

To step back for a moment, if you were "exposing" VC's through some table object...well that would be what a column is.  Every VC could be instead stored in a "normal' table column.  You would just need to control when and how the value is re-calculated.  The automatic recalculation of a VC is likely the "power" you are referring to?

Put simply,  Virtual Columns are just a way to house calculated values.  Calculated values are not stored in tables precisely because, in theory, by the time they are stored they need to updated again from other system data changes.

Because AppSheet is a distributed multi-user system,  the data on each users device may be different (this could be from timing, Security Filters, etc) therefore requiring a different recalculated Virtual Column result.  As such, VC's are automatically recalculated, for EACH device independently.

The VC recalc is only performed, for your device, when a Sync occurs - either manually or by some app activity including automatic background Syncs.  In other words, the expense of the recalculation is only done when there is a need for it.   For instance, if you were on vacation for 3 weeks and not using the app, there would be no VC recalculations done for you.  Once you return and start the app, the VC calculation would occur only once using the latest state of any dependent values.

Thanks so much for your thoughts on this. 

My use case is reporting to a highly formatted google Sheet template for purposes of emailing PDF files. Data is static.

I'm currently writing an AppSheet API call to access the AppSheet table columns (all Sheet, and VIrtual columns), rather than using AppScripts built-in SpreadsheetApp object. Most users, myself included, would avoid API calls where there are built in AppScript functions, and thats where an AppSheet.table object would provide the needed methods to read the table data without much effort. Additional .Select() methods would complete the package.

Top Labels in this Space