Flitch

Binding a model

Bind a dashboard, report or app to a model, and what changes when you do.

A model changes nothing until a dashboard, report or app reads it. Binding is one at a time, and reversible, and works the same for all three.

Binding one

Three places, all the same choice:

  • Before you generate. The model picker on the create page. It starts with that model's tables already picked.
  • In the editor. Settings, then Data sources. The tray at the foot of the source list holds the choice, and the source dropdown carries the same picker for when you are already in there adding a table.
  • Automatically. The Auto switch on the models tray in Data starts every new dashboard, report and app on the default model.

Coverage

The tray reports how many of its tables the model covers: 4 of 6 tables are in this model.

A gap is reported, never enforced. The two tables the model says nothing about still work exactly as before. They simply get no joins and no calculations from it, which is usually the answer to why a calculation someone expected is not there.

Add puts its own tables into the model in one press, which is the fix in nearly every case.

What binding changes

Generation reads it

Anything generated with a model picked is told what that model defines. It asks for Net revenue by name rather than inventing the arithmetic, so it agrees with everything else reading the same model.

The running page reads it

Joins and calculations travel with its rows. Edit one in Data and every open dashboard, report and app picks it up on its next fetch, with nothing recompiled and nothing copied into generated code.

The chat can write to it

Ask the editor chat to define a calculation and it proposes the change as a card. Nothing is written until you apply it, and once you do, the preview refreshes so you can see the number move. With no model bound, the chat does not offer this at all.

One model, several readers

A model belongs to your space, not to any one dashboard, report or app. When more than one reads it, the settings pane shows how many others share it, and that edits made there reach them.

That is the point of a model, and it is also the thing to be careful about. Redefining a calculation from inside one of them redefines it everywhere.

Publishing

Publishing freezes a copy of the model into the published version. After that:

Edit a join or calculationThe editor preview changes immediately
The published versionKeeps the model it was published with
RepublishThe live version picks the edit up

So a change you are still working through in Data cannot move the numbers your audience is looking at. See Publishing.

Changing or removing the model

Both are allowed and both will ask first, because both can move numbers. Moving one to a different model changes which joins and calculations it can reach. Removing the model entirely puts it back to working its own numbers out.

Duplicating a dashboard, report or app into another space brings the joins and calculations it relies on with it. A duplicate in the same space shares the original's model, so there is nothing to copy.

On this page