
How date zoom works
When viewing a dashboard, open a date zoom control and pick a granularity (Day, Week, Month, Quarter, Year, or a custom granularity). Every chart governed by that control updates to show data at the chosen granularity. Pick None to restore the charts’ original granularity. Key behaviors:- A control only affects charts that have a date dimension in their results.
- The Default zoom governs every date-zoomable chart that isn’t attached to a named control. It’s hidden from viewers when every chart belongs to a named control.
- Each named control governs only the charts you attach to it, using a specific date field per chart.
- A chart can belong to at most one control. Charts already attached elsewhere show an In [control name] badge and can’t be selected by another control.
- Changes made by viewers are temporary. Refreshing the dashboard restores the configured defaults.
Configuring available granularities
The granularities offered by every control on the dashboard are set on the Default zoom pill. Named controls can only offer granularities you’ve enabled here.
Setting available granularities
- Open the dashboard in edit mode
- Open the Default zoom dropdown
- Use the checkboxes to enable or disable granularities
- At least one granularity must remain enabled
- Save the dashboard to persist your changes
Setting a default granularity
You can pin a granularity as the default that’s automatically applied when the dashboard loads:- In the Default zoom dropdown, click the pin icon next to a granularity
- The pinned granularity becomes the default
- Click the pin again to remove the default
Default granularities don’t apply when the dashboard is loaded with a granularity already specified in the URL.
Creating date zoom controls
Named controls let you point different charts at different granularities, or scope a single zoom to a chosen set of charts (including charts on other tabs).- Open the dashboard in edit mode
- Click Add date zoom
- In the Settings tab, give the control a name and pick its default granularity
- In the Chart tiles tab, select the charts this control should govern. For each selected chart, choose the date field the zoom applies to. Charts are grouped by tab, and you can use Select all or a tab’s checkbox to attach many at once.
- A control must target at least one chart before you can save. Click Save changes, then save the dashboard.


Only charts with a date or timestamp dimension in their results are eligible to be attached to a control. A chart with no zoomable date field won’t appear in the Chart tiles list.
Using custom granularities
Custom granularities defined in yourlightdash.config.yml appear in date zoom dropdowns alongside standard options, below a visual divider. This is useful for business-specific time periods like fiscal quarters or custom week definitions.
See the dimensions reference for how to create and configure custom granularities.
Hiding or showing date zoom on a dashboard
You can control date zoom visibility at two levels:- Hide the whole date zoom section: in edit mode, click the eye icon on the date zoom section chip in the dashboard toolbar. When hidden, no date zoom controls are shown to viewers.
- Hide an individual control: in edit mode, click the eye icon next to a control’s pill. A hidden control isn’t shown to viewers, but its granularity still applies to the charts it governs.
Referencing the date zoom in custom SQL
The currently selected date zoom granularity is exposed as a built-in reserved parameter calleddate_zoom. You can reference it in custom SQL anywhere parameters are supported:
day, week, month, quarter, year, or a custom granularity name). When no date zoom is selected, the value is an empty string.

Referencing the granularity in chart labels
You can also reference the active granularity directly in chart labels — useful for axis names, series names and slice labels that should update when a viewer changes the date zoom (or when a chart is saved at a fixed granularity). Use the following placeholder in any supported label, wheretable_field is the base date dimension on the chart (for example orders_order_date):
day, week, month, quarter, year, or a custom granularity label.
For example, a y-axis label of Orders per ${orders_order_date.granularity} renders as Orders per week when the dashboard is zoomed to a weekly granularity.
When you type
$ in an axis name, big-value label, or gauge label, autocomplete lists every base date dimension on the chart so you can insert the placeholder without remembering the exact field id.You don’t need to remember the exact field id — Lightdash will insert the placeholder for you:- Cartesian axis names, big-value labels, and gauge labels — type
$in the label field and autocomplete lists every base date dimension on the chart. - Pie group labels and funnel step labels — click the insert date granularity icon inside the editable label field to insert the placeholder for the matching date dimension.
- Big value — label and comparison label
- Bar, line, area, scatter, and mixed charts — x-axis name, y-axis name, and series names
- Pie chart — group labels
- Gauge — custom value label and custom percentage label
- Funnel chart — step labels
Date zoom in embedded dashboards
Date zoom can be enabled or disabled in embedded dashboards using thecanDateZoom option in your JWT token:
canDateZoom is enabled, embedded dashboards render the dashboard’s configured date zoom controls (the Default zoom plus any named controls), not just a single global control. This applies to both JWT embeds and the React SDK, which share the same embedded dashboard rendering.
See the embedding reference for complete details.
Related
Custom granularities
Define business-specific time periods
Interactive dashboards
Cross-filtering, drill into, and more
Dimensions reference
Configure time intervals on dimensions
Embedding reference
Embed dashboards with date zoom




