Computed Tables
A computed table is the result of a SQL query, saved as a table in its own right.
It is how you keep a derived view — a join, an aggregate, a filtered extract — as something you can open, export and import, rather than re-running a query every time.
How one is made
Computed tables are created by asking an AI assistant through the MCP server to save a query's result. There is no SQL editor in the app.
One rule the query must satisfy: every output column needs an explicit alias. A column with no name of its own is refused rather than guessed at.
Where they live
A computed table has no parent model. It belongs to you and appears in your overview, outside any model.
To use one in a model, import it. The import is a reference rather than a copy — the data exists once, and the in-model table is a read-only view onto it.
Computed tables are owner-only. Importing one into a model is the single thing anyone else can do with it.
Refreshing
A computed table does not update itself. When its source tables move on, it shows as out of date, and Refresh from current versions re-runs the query.
Three things about refresh:
- It is owner-only, and done from the overview rather than from inside a model.
- It replaces the data in place.
- It fails if the query's output types have changed rather than migrating the table to the new shape. A refresh that quietly changed a column's type would break everything reading it downstream, so it stops and tells you instead.
No versions
Computed tables are unversioned. A refresh replaces the contents, and there is no history behind it.
That means:
- No checkpoints and no aliases.
- No going back to what the query returned last week.
- Nothing to compare against.
If you need the history, the source tables have it — a computed table is a derived view, and the versioning lives with the data it derives from.
What else they cannot do
- They cannot hold attachments.
- They cannot be edited cell by cell. The query is the definition; change the query, not the result.
Deleting
Delete computed table removes it. An import of it in someone's model stops resolving, so check what depends on it first.