Differences between Virtual Column vs Table Column Dereference's


With reference to youtube video regarding Dereference’s
How to Use Dereference Expressions in Forms

What would happen if “Keith’s” email would change? Does the email in the appointment table straight away if I had to look at a table view of appointments after I change the “Keith’s” email in the customer table?

Just trying to understand what are the fundamental differences that I need to be aware of if I have a column in the appointment table that dereferences the email from the customer table vs just having a virtual column. (eg. What are the differences between the two. When should I use a spreadsheet column vs virtual column dereference. How is data updated differently, which will influence app speed the most etc).

Tony mention in the video that dereferences are often used by users that update data via the app as well as need to batch edit within the spreadsheet itself.
Using a dereference in columns in the table itself is what I would like to use as I have a lot of data and would need to sometimes batch edit it and would like a reference to know what the ID label.

In generally it goes like this… virtual columns are calculated locally (without sync) in a row that is updated or in rows that are it’s parents in an IsAPartOf reference. So if an OrderDetail row is updated, virtual columns in it’s owning Order row will be recalculated.

Other than that, virtual columns are calculated when you sync the app.

What about workflows, do they trigger when synced or they trigger locally and then sync?

Workflow is always triggered on the backend rather than user devices , i.e. client.

Depending on how we set the workflow set up, but Appsheet server will listen the events, such as row value change, new row added, deleted, and then fire action, workflow , email etc


Koichi nailed it!

1 Like