Interactivity

Make dashboards explorable with cross-filtering, dashboard filters and controls, and click-to-drill.

Flax dashboards are interactive: viewers filter the whole board, click a chart to narrow the rest, and drill into a mark to see the detail behind it. This page covers all three. Interactivity never widens access — governance and row-access rules are enforced independently in the warehouse, so a filter can only ever show you rows you were already allowed to see.

#Cross-filtering

Click a mark on any chart — a bar, a slice, a point — and the clicked value becomes a filter applied to the other tiles, which re-run against it. This is cross-filtering: one chart drives the rest of the board. A "Clear cross-filter" control removes it. Under the hood, the clicked tile emits a {field, op, values} selection that subscribing tiles add to their query; re-runs are coalesced so one click can't storm the warehouse.

#Dashboard filters and controls

A dashboard exposes shared filters and controls that apply across its tiles:

Control Behavior
Defaults Seed the viewer's filter bar; viewers can override them.
Locked Always applied and not overridable — use for governance-style scoping.
Grain Switch the time grain across time-based tiles.
Parameters A value control, or a field-swap that changes which dimension a chart groups by, chosen from a defined set of options.

Viewer filter state lives in the URL, so a filtered view is shareable as a link.

#Drill-down

Clicking a mark can also reveal what's behind an aggregate. Click, right-click and tap all open the same menu at your cursor, headed by the value you clicked — no gesture performs an action by itself. The menu offers what applies on that surface:

Item Where
Filter dashboard to this Dashboards only. Becomes Remove this filter when that selection is already applied.
Drill to detail Everywhere.
View in sheet Everywhere — the chart's query narrowed to the clicked value.
Ask AI about this Where the assistant is available; the question is grounded on the narrowed query.
Copy value Everywhere.

Filtering is the first item, so it takes focus as the menu opens: click then Enter applies it. If you cross-filter constantly, ⌘-click (Ctrl-click on Windows/Linux) applies the filter directly and skips the menu.

#Without a mouse

A chart is a focus stop, and its marks are traversable:

Key Does
Tab Move focus to the chart.
← → Step between marks (↑ ↓ on a horizontal bar chart, where the categories run down the side).
↑ ↓ Switch series, when the chart has more than one (← → on a horizontal bar chart).
Home / End Jump to the first or last mark.
Enter or Space Open the menu for the focused mark.
Esc Clear the focused mark — or close the menu, if one is open.

The focused mark is highlighted and shows its tooltip, exactly as hovering does. Closing a mark's menu returns focus to the chart on the same mark, so you can act on several marks in a row without starting over.

Drill-down itself offers two behaviors:

  • View detail rows — a modal shows the applied-filter chips and the underlying warehouse rows (capped, with CSV export).
  • Drill into a child — when the clicked dimension declares a child (country → city, month → day), rewrite the query in place with a breadcrumb and a way back.

Each dashboard tile drills independently — drill state is tile-local and ephemeral, never saved to the chart. For the full model, see Drill-down.

  • Drill-down — the complete interaction model.
  • Dashboards — layout, tabs, and filters.
  • Actions — turn a control change into an automation.