Skip to main content

Connect controls to data elements

Connect controls to tables and charts so viewer selections filter data. Covers targeting, synced controls, and formula references.

Written by Jamie
Updated over a month ago

A control on its own doesn't do anything—it needs to be connected to the tables and charts you want it to filter. These connections are called targets. When a viewer changes a control's value, all connected targets update automatically to reflect the selection.


This guide explains how to add targets to your controls, connect a single control to multiple elements, and maintain consistent filtering across workbook pages using synced controls.


Add targets to a control

Targets tell a control which tables and charts to filter. Without targets, the control appears on the page but has no effect on your data.

  1. Open the workbook in Edit mode.

  2. Select the control you want to configure.

  3. In the Editor panel, select the Targets tab.

  4. Click Add filter target.

  5. Select the table or chart you want the control to filter.

  6. Choose which column the control should filter. By default, the control targets the first column in the selected element—click the column name to change it.

The target now appears in the list, and the control is connected to that element. When viewers select a value in the control, the targeted table or chart updates to show only matching data.


Choosing the right target column

The target column should contain values that match the control's options. For example, if your control lists facility names, target a column that contains facility names in your table. If the control offers date ranges, target a date column.


Connect one control to multiple targets

A single control can filter several tables and charts at once. This is useful when you want one selection—such as a reporting year or business unit—to update an entire dashboard.

  1. Select the control.

  2. In the Editor panel, select the Targets tab.

  3. Click Add filter target.

  4. Select an additional table or chart.

  5. Choose the appropriate column to filter.

  6. Repeat for each element you want the control to affect.

All targets update together when the control value changes. For example, a "Reporting period" control could simultaneously filter an emissions summary table, a trend chart, and a breakdown by category—keeping all elements in sync.


Use synced controls across pages

When a control affects elements on multiple pages, you can place copies of that control on each page. Synced controls share the same settings and selection—changing the value on one page updates the control on all pages.

This approach helps viewers understand what filters are active without navigating back to a different page.

Create a synced copy

  1. Open the workbook in Edit mode.

  2. Select the control you want to copy.

  3. Click the More menu (⋮) on the control.

  4. Select Create a synced copy.

  5. A copy of the control appears below the original.

  6. Move or cut the synced copy and paste it onto another page.

The synced copy maintains the same configuration, targets, and control ID as the original. When a viewer changes the selection in either control, both update to show the same value.

Tip: You can also create synced copies from the Synced copies tab in the Editor panel. Select a control, open the Synced copies tab, and click Create a synced copy.

How synced controls differ from duplicates

Synced controls and duplicates serve different purposes:

Type

Behaviour

Use when

Synced copy

All copies share the same value and update together

You want the same filter to appear on multiple pages

Duplicate

Each copy operates independently

You want separate controls with different targets or settings

To duplicate a control (creating an independent copy), use MoreDuplicate instead.


Use control values in formulas

Beyond filtering, you can reference a control's value in formulas. This lets you create calculated columns that change based on viewer selections—for example, calculating variance against a user-selected baseline year.

Every control has a unique control ID that you can find in the Settings tab of the Editor panel. Use this ID in square brackets to reference the control's value.

Reference syntax by control type

The syntax varies depending on what type of value the control returns:

Control type

Syntax

Example

Single value (list, number input, date)

[control-id]

[reporting-year]

Number range or range slider (minimum)

[control-id].min

[emission-range].min

Number range or range slider (maximum)

[control-id].max

[emission-range].max

Date range (start)

[control-id].start

[date-filter].start

Date range (end)

[control-id].end

[date-filter].end

Example: Flag rows matching a selected year

If you have a list control called selected-year that lets viewers choose a financial year, you could create a calculated column that flags rows matching that selection:

[Financial Year] = [selected-year]

This formula returns true for rows where the financial year matches the viewer's selection, which you could then use to apply conditional formatting or filtering.

Example: Calculate percentage of a selected year's total

To show each month's emissions as a percentage of the selected year's total:

[Total Emissions (tCO2e) | Market Based] / Sum(If([Financial Year] = [selected-year], [Total Emissions (tCO2e) | Market Based], 0))

This formula sums emissions only for the selected financial year, then divides each row's emissions by that total.


Tips

  • Check control data types. When referencing a control value in a formula, the data type must match what the formula expects. A number control returns numbers; a date control returns dates. Mismatched types cause errors.

  • Name your controls clearly. Rename the control ID to something descriptive like facility-filter or reporting-period rather than the default new-control-1. This makes formulas easier to read and maintain.

  • Test with different selections. After connecting targets, test the control by selecting different values to ensure all connected elements update correctly.

Did this answer your question?