Data Binding
Data binding is what connects a prepared dataset to the widgets on your canvas. Without a binding, a chart or a table has nothing to draw. You do the mapping in the Dataset Binding panel — no query language, no data source configuration.
How binding works
Select a widget on the canvas and the Dataset Binding panel lists every dataset in the workspace. Tick the checkbox next to a dataset and all of its fields are taken into use: the widget matches them to what it needs and renders immediately.
Each widget expects a certain shape of data, and the example templates under File → New from Template show that shape for every widget. If a dataset has more columns than the widget needs, untick the columns you do not want — the widget updates as you tick and untick.
Renaming does not break a binding
A binding points at the column itself, not at the text of its header. Since v2.0.0 agents reference fields the same way, by column rather than by name.
So you can rebuild a dataset, reorder columns, or retitle a header, and the charts you already configured keep working. A name is a label for you to read.
Wait for the dataset to finish loading
A new dataset loads in the background, and binding is unavailable until it is complete — a chart bound to a half-loaded dataset would quietly draw the wrong picture. You see a spinner next to the dataset while it works; the spinner disappears when it is ready. See Datasets That Load in the Background.
Slices and their output
The output of a slice belongs to the widget that produced it and is read-only:
- The widget overwrites that range every time the selection changes, so nothing — neither an agent nor you — should type into it.
- Other widgets that react to a slice should reference that range in their own dataset (for example through a formula in the Dataspace) rather than bind to the range directly.
See Data Slice for the full behaviour.
A default selection for input widgets
Radio, Select and Checkbox widgets can start with a selection already made, so the slice they feed has data from the first moment. Set it under Properties → General → Controls → Selected Value. A default has to match a value in the dataset exactly; in multiple-choice mode it can be more than one value.
The value reaches the slice when the document opens, and again whenever you change it in the panel. It does not overwrite a selection that came back with the saved file — see Data Slice.
Chart widgets do not need one — they wait for a click.
What the panel shows
Once a widget is bound, the checkbox for that dataset in the panel reads as checked or partially checked: checked when every field in the dataset is used by the widget, partially checked when only some of them are.
Slice datasets in the panel
Slice datasets appear in the Dataset Binding panel alongside your own datasets, but a slice dataset cannot be bound to a widget directly. Use it as the input for a dataset of its own.
WARNING
A widget that supports data binding binds to exactly one dataset — not two, not zero.
Common questions
Why was my binding refused with "dataset still loading"?
The dataset was not ready. Wait for the spinner to disappear — the column and row counts fill in as it finishes — and try again. A binding requested through the assistant waits for you automatically.
Do I have to rebind after renaming something?
Usually no. Bindings do not depend on column names, so retitling headers or reordering columns changes nothing. You only pick fields again if you delete and recreate the dataset itself.
Can my column names be in Chinese, or contain spaces?
Yes. Names are display text in the binding panel.
The chart shows nothing even though the dataset is bound
- Open the dataset in the Dataspace and confirm it has rows.
- Confirm the checkbox for the intended dataset is ticked, not the one for a similar-looking dataset.
- Check whether a slice feeding this widget currently has an empty selection.
- Confirm the widget's expected shape matches what you gave it — the example templates under File → New from Template are the quickest reference.
My data has far more rows than the chart can show
Aggregate first. Use formulas in the dataspace to reduce the data to the level the chart actually needs — a widget reading a few hundred summarized rows behaves far better than one reading tens of thousands of raw records.
Where to go next
- Dataspace — preparing and calculating your data
- Datasets — the dataset list and its operations
- Data Slice — turning a click into a filter
- Datasets That Load in the Background — readiness and progress