Change the time granularity of charts on your dashboard without editing them
Date zoom lets viewers change the date granularity of time-based charts on a dashboard without editing them. This is useful for zooming in to see daily patterns or zooming out to identify long-term trends.Date zoom works through controls, which behave like dashboard filters: each control is a pill in the dashboard toolbar that sets a granularity, and editors choose which charts each control governs. A dashboard has one built-in Default zoom plus any number of named controls you add.
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.
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.
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
When a default is set, the dashboard automatically applies that granularity on load (unless overridden by a URL parameter). New controls also start at this granularity.Default granularities don’t apply when the dashboard is loaded with a granularity already specified in the URL.
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.
To edit an existing control, open its pill and choose Configure; to delete it, choose Remove. Viewers can change a control’s granularity from its pill, or pick Reset to default to return it to its configured granularity.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.
Custom granularities defined in your lightdash.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.
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.
Hiding the whole section also stops the Default zoom’s pinned granularity from applying on load, so charts that aren’t attached to a named control render at the granularity they were saved with. Named controls keep applying their granularity to their charts, and a dateZoom parameter in the dashboard URL still overrides the saved granularity of unattached charts. Share the dashboard link without that parameter if every chart should keep its own granularity.In dashboards as code, hiding the whole section is isDateZoomDisabled: true in the dashboard’s config.Save the dashboard to persist visibility changes. You can show a section or control again at any time by toggling the eye icon back on in edit mode.
The currently selected date zoom granularity is exposed as a built-in reserved parameter called date_zoom. You can reference it in custom SQL anywhere parameters are supported:
${ld.parameters.date_zoom}
It resolves to the granularity name in lowercase (for example day, week, month, quarter, year, or a custom granularity name). When no date zoom is selected, the value is an empty string.
This is useful for adapting your SQL to the granularity the viewer picked on the dashboard, without defining a user parameter:
CASE WHEN ${ld.parameters.date_zoom} = 'week' THEN 'Weekly' WHEN ${ld.parameters.date_zoom} = 'month' THEN 'Monthly' WHEN ${ld.parameters.date_zoom} = '' THEN 'No date zoom applied' ELSE 'Other'END
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, where table_field is the base date dimension on the chart (for example orders_order_date):
${table_field.granularity}
At render time the placeholder is replaced with the granularity actually used to compile the query, lowercased — for example 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.
If the referenced dimension isn’t on the chart, the placeholder is left untouched so you can see what’s missing.
Pie group labels and funnel step labels are per-category overrides — each custom label is keyed to a specific slice or step value. Because date zoom re-buckets dates (for example, the monthly 2024-07 slice becomes a weekly 2024-07-15 slice), an override set at one granularity stops matching after a viewer zooms to another and the custom label silently falls back to the raw value. If you need a label that survives date zoom, prefer the cartesian, big-value, or gauge labels above.
Date zoom can be enabled or disabled in embedded dashboards using the canDateZoom option in your JWT token:
{ content: { type: 'dashboard', dashboardUuid: 'your-dashboard-uuid', canDateZoom: true, // Enable date zoom in embed }}
When 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lightdash","colors":{"primary":"#8072ff","light":"#8072ff","dark":"#8072ff"},"logo":{"light":"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/light.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=4b91c8292b732e3daca7558549cf018c","dark":"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=c15813eedf4ff7a28709d8c163765fd1","href":"https://lightdash.com/"},"favicon":"https://mintcdn.com/lightdash/fPTXVBgl8dEzSm3L/favicon.png?fit=max\u0026auto=format\u0026n=fPTXVBgl8dEzSm3L\u0026q=85\u0026s=ab889bc3b46d3db2eb20c3ff381c098a","api":{"playground":{"display":"simple"}},"appearance":{"default":"light"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://www.lightdash.com/#","label":"Book a demo"},{"href":"https://app.lightdash.cloud/login","label":"Login"}],"primary":{"type":"button","label":"Start for free","href":"https://www.lightdash.com/start?utm_source=docs\u0026utm_medium=internal_cta\u0026utm_campaign=get_started"}},"footer":{"socials":{"github":"https://github.com/lightdash/lightdash","slack":"https://join.slack.com/t/lightdash-community/shared_invite/zt-3pbwqmq5e-vhTc7HHcS787w618ngoPHA","linkedin":"https://www.linkedin.com/company/lightdash","x":"https://x.com/lightdash_devs"},"links":[{"header":"Lightdash","items":[{"label":"About us","href":"https://www.lightdash.com/about"},{"label":"Community","href":"https://join.slack.com/t/lightdash-community/shared_invite/zt-3pbwqmq5e-vhTc7HHcS787w618ngoPHA"},{"label":"Blog","href":"https://www.lightdash.com/blog"}]}]},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Space Grotesk","weight":600,"source":"https://fonts.gstatic.com/s/spacegrotesk/v16/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2","format":"woff2"}},"icons":{"library":"tabler"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lightdash","hasAudioNarration":false,"actualSubdomain":"lightdash","customDomains":["docs.lightdash.com"],"gitSource":{"type":"github","owner":"lightdash","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aef6c43552e9ea17aa800a4","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API","count":877},{"language":"default","tag":"Reference","count":873},{"language":"default","tag":"Docs","count":211},{"language":"default","tag":"API Reference","count":189},{"language":"default","tag":"Projects","count":146},{"language":"default","tag":"v2","count":128},{"language":"default","tag":"Organizations","count":76},{"language":"default","tag":"Integrations","count":44},{"language":"default","tag":"Explore","count":35},{"language":"default","tag":"My Account","count":31}],"searchSettings":{"maxResults":10}},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"type":"email","email":"support@lightdash.com","showHelpButton":false}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#navigation-items>ul.sidebar-group{margin-top:12px}.feature-badges{display:flex;flex-wrap:wrap;align-items:center;gap:0.375rem;margin:1rem 0;font-size:0.8125rem}.feature-badges:first-child{margin-top:0}#content>.callout:first-child{margin-top:0}.feature-badge-link{display:inline-flex;align-items:center;vertical-align:middle;border:0;border-radius:9999px;text-decoration:none!important;background-image:none!important}.feature-badge-link:hover [data-badge]{background-color:color-mix(in srgb, var(--color-text) 20%, transparent);box-shadow:0 0 0 1px var(--color-text)}.feature-badge-link:active [data-badge]{background-color:color-mix(in srgb, var(--color-text) 35%, transparent);box-shadow:inset 0 0 0 2px var(--color-text);transform:translateY(1px)}.feature-badge-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.sticky-first-col{overflow-x:auto;position:relative;max-width:100%}.sticky-first-col table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.sticky-first-col table th:first-child,.sticky-first-col table td:first-child{position:sticky;left:0;z-index:1;min-width:260px;max-width:320px;white-space:normal;background-color:#ffffff;box-shadow:inset -1px 0 0 0 rgba(0, 0, 0, 0.08)}.sticky-first-col table thead th:first-child{z-index:2}html.dark .sticky-first-col table th:first-child,html.dark .sticky-first-col table td:first-child{background-color:#0b0b0f;box-shadow:inset -1px 0 0 0 rgba(255, 255, 255, 0.1)}svg.matrix-no{background-color:#d9d5f0}html.dark svg.matrix-no{background-color:#2e2947}.copy-prompt{margin:1.5rem 0}.copy-prompt-btn{display:inline-flex;align-items:center;gap:0.75rem;padding:0.75rem 1.375rem;border:none;border-radius:9999px;background-color:#8072ff;color:#ffffff;font-size:0.875rem;font-weight:500;line-height:1.25rem;cursor:pointer;box-shadow:0 1px 2px rgba(0, 0, 0, 0.08);transition:background-color 150ms ease}.copy-prompt-btn:hover{background-color:#6c5df2}.copy-prompt-btn:focus-visible{outline:2px solid #8072ff;outline-offset:2px}.copy-prompt-label{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.copy-prompt-icons{display:inline-flex;align-items:center;gap:0.3125rem}.copy-prompt-icons svg{width:1.25rem;height:1.25rem;flex:none;transition:transform 300ms ease-out}.copy-prompt-icons svg:nth-child(1){transform:rotate(-6deg)}.copy-prompt-icons svg:nth-child(4){transform:rotate(6deg)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(1){transform:translateX(-4px) rotate(-12deg)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(2){transform:translate(-1px, -1px) rotate(6deg) scale(1.1)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(3){transform:translate(1px, 2px) rotate(-6deg) scale(1.1)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(4){transform:translateX(4px) rotate(12deg)}.copy-prompt-preview{margin:0.625rem 0 0 0.25rem;font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:0.8125rem;color:#9ca3af;opacity:0;transform:translateY(4px);transition:opacity 200ms ease,\n transform 200ms ease}html.dark .copy-prompt-preview{color:#6b7280}.copy-prompt-preview.is-copied{color:#5747cf}html.dark .copy-prompt-preview.is-copied{color:#cfc9ff}.copy-prompt:hover .copy-prompt-preview,.copy-prompt:has(.copy-prompt-btn:focus-visible) .copy-prompt-preview,.copy-prompt-preview.is-copied{opacity:1;transform:none}.copy-prompt-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.copy-prompt-icons svg,.copy-prompt-preview{transition:none}.copy-prompt-preview{transform:none}}.setup-path{--setup-path-line: #e2e2e8;--setup-path-surface: #f5f5f7;--setup-path-ground: #ffffff;--setup-path-ink: #16151d;--setup-path-muted: #5d5c69;--setup-path-faint: #8b8a97;--setup-path-accent: #8072ff;display:grid;gap:1rem;justify-items:start;margin:1.5rem 0;color:var(--setup-path-ink);font-size:1rem;line-height:1.55}html.dark .setup-path{--setup-path-line: #2d2d38;--setup-path-surface: #1b1b22;--setup-path-ground: #0f0f14;--setup-path-ink: #efeff3;--setup-path-muted: #a5a5b2;--setup-path-faint: #777784}.setup-path p{margin:0}.setup-path ol{list-style:none;margin:0;padding:0}.setup-path svg{display:block;flex:none}.setup-path button{font-family:inherit;color:inherit;cursor:pointer}.setup-path-trunk{display:grid;width:100%}.setup-path-trunk>li{position:relative;display:grid;grid-template-columns:2.375rem minmax(0, 1fr);gap:1rem;padding:0 0 1.5rem;margin:0}.setup-path-trunk>li::before{content:\"\";position:absolute;left:calc(1.1875rem - 1px);top:2.375rem;bottom:0;width:2px;background:var(--setup-path-line)}.setup-path-trunk>li.is-done::before{background:var(--setup-path-accent)}.setup-path-trunk>li.is-last{padding-bottom:0}.setup-path-trunk>li.is-last::before{display:none}.setup-path-tile{position:relative;z-index:1;display:grid;place-items:center;width:2.375rem;height:2.375rem;flex:none;border-radius:0.625rem;background:var(--setup-path-surface);transition:transform 180ms ease}.setup-path-tile.is-dark{background:#16151d}.setup-path-trunk>li.is-current>.setup-path-tile{background:var(--setup-path-ink);color:var(--setup-path-ground)}.setup-path-trunk>li.is-pending>.setup-path-tile{background:transparent;border:2px dashed var(--setup-path-line);color:var(--setup-path-faint)}.setup-path-node{display:grid;gap:0.75rem;min-width:0}.setup-path-question{display:flex;align-items:center;min-height:2.375rem;font-size:1.125rem;font-weight:600;line-height:1.3}.setup-path-answer{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.375rem}.setup-path-answer p{display:grid;min-width:0;line-height:1.3}.setup-path-answer p span{font-size:0.8125rem;color:var(--setup-path-muted)}.setup-path-answer p strong{font-weight:600}.setup-path-change{flex:none;padding:0.25rem 0.625rem;border:1px solid transparent;border-radius:0.5rem;background:none;font-size:0.875rem;font-weight:500;color:var(--setup-path-muted)!important}.setup-path-change:hover{border-color:var(--setup-path-line);color:var(--setup-path-ink)!important}.setup-path-leaves{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:-0.25rem}.setup-path-leaves a{display:inline-flex;align-items:center;gap:0.375rem;padding:0.1875rem 0.625rem;border-radius:0.5rem;background:var(--setup-path-surface);font-size:0.8125rem;color:inherit;text-decoration:none}.setup-path-leaves a:hover{text-decoration:underline}.setup-path-leaves svg,.setup-path-chevron{color:var(--setup-path-faint)}.setup-path-note{font-size:0.8125rem;color:var(--setup-path-muted)}.setup-path-note a,.setup-path-step-body a{color:var(--setup-path-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}.setup-path-pending{display:flex;align-items:center;min-height:2.375rem;font-size:0.9375rem;line-height:1.4;color:var(--setup-path-muted)}.setup-path-options{display:grid;grid-template-columns:repeat(var(--setup-path-columns), minmax(0, 1fr));gap:0.625rem}.setup-path-option{display:flex;align-items:center;gap:0.75rem;min-width:0;padding:0.75rem 0.875rem;border:1px solid var(--setup-path-line);border-radius:0.75rem;background:var(--setup-path-ground);text-align:left;transition:border-color 150ms ease,\n background 150ms ease}.setup-path-option:hover{border-color:var(--setup-path-faint)}.setup-path-option:hover .setup-path-tile{transform:scale(1.06)}.setup-path-option:focus-visible,.setup-path-change:focus-visible,.setup-path-ghost:focus-visible,.setup-path-phase li>button:focus-visible{outline:2px solid var(--setup-path-accent);outline-offset:2px}.setup-path-option[aria-checked=\"true\"]{border-color:var(--setup-path-ink);background:var(--setup-path-surface)}.setup-path-option[aria-checked=\"true\"] .setup-path-tile:not(.is-dark){background:var(--setup-path-ground)}.setup-path-option-text{display:grid;flex:1;gap:1px;min-width:0}.setup-path-option-title{display:flex;flex-wrap:wrap;align-items:center;gap:0.1875rem 0.5rem;font-size:0.9375rem;font-weight:600;line-height:1.3}.setup-path-option-hint{font-size:0.8125rem;line-height:1.4;color:var(--setup-path-muted)}.setup-path-tag{padding:1px 0.4375rem;border:1px solid var(--setup-path-line);border-radius:99px;font-size:0.6875rem;font-weight:600;color:var(--setup-path-muted);white-space:nowrap}.setup-path-radio{display:grid;place-items:center;width:1.125rem;height:1.125rem;flex:none;border:1.5px solid var(--setup-path-line);border-radius:50%;color:transparent;transition:background 150ms ease,\n border-color 150ms ease}.setup-path-option[aria-checked=\"true\"] .setup-path-radio{border-color:var(--setup-path-ink);background:var(--setup-path-ink);color:var(--setup-path-ground)}.setup-path-options.is-compact .setup-path-option{padding:0.5625rem 0.75rem}.setup-path-options.is-compact .setup-path-radio{display:none}.setup-path-options.is-compact .setup-path-option-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-path-ghost{display:inline-flex;align-items:center;gap:0.375rem;padding:0.375rem 0.75rem;border:1px solid var(--setup-path-line);border-radius:0.5rem;background:none;font-size:0.875rem;font-weight:500}.setup-path-ghost:hover{border-color:var(--setup-path-ink)}.setup-path-result{display:grid;gap:1rem;min-width:0}.setup-path-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.5rem 1rem;min-height:2.375rem}.setup-path-result-title{font-size:1.125rem;font-weight:600}.setup-path-result-title span{margin-left:0.5rem;font-size:0.875rem;font-weight:500;color:var(--setup-path-muted)}.setup-path-phases{display:grid;border-top:1px solid var(--setup-path-line)}.setup-path-phase{display:grid;grid-template-columns:8rem minmax(0, 1fr);gap:0 1rem;padding:0.75rem 0;border-bottom:1px solid var(--setup-path-line)}.setup-path-phase-name{display:flex;align-items:center;align-self:start;gap:0.5rem;padding:0.4375rem 0;font-size:0.9375rem;font-weight:600}.setup-path-phase-name svg{color:var(--setup-path-muted)}.setup-path-phase li{margin:0;padding:0}.setup-path-phase li>button{display:flex;align-items:center;gap:0.75rem;width:100%;min-width:0;padding:0.4375rem 0.5rem;border:0;border-radius:0.5rem;background:none;text-align:left}.setup-path-phase li>button:hover{background:var(--setup-path-surface)}.setup-path-step-number{width:1.25rem;flex:none;font-size:0.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--setup-path-faint)}.setup-path-step-title{flex:1;min-width:0;font-size:0.9375rem;font-weight:500}.setup-path-chevron{transition:transform 150ms ease}.setup-path-phase li.is-open .setup-path-chevron{transform:rotate(90deg)}.setup-path-step-body{display:grid;gap:0.375rem;justify-items:start;padding:0 0.5rem 0.625rem 2.5rem;font-size:0.875rem;color:var(--setup-path-muted)}.setup-path-step-body a{display:inline-flex;align-items:center;gap:0.3125rem}.setup-path-step-body>span{font-size:0.8125rem;color:var(--setup-path-faint)}@media (max-width: 640px){.setup-path-options{grid-template-columns:1fr}.setup-path-options.is-compact{grid-template-columns:repeat(2, minmax(0, 1fr))}.setup-path-phase{grid-template-columns:1fr;gap:0.25rem}}@media (prefers-reduced-motion: reduce){.setup-path-tile,.setup-path-option,.setup-path-radio,.setup-path-chevron{transition:none}}"},{"filePath":"sidebar-filter.css","content":".nav-filter{--filter-ink: rgb(var(--gray-700));--filter-muted: rgb(var(--gray-500));--filter-breadcrumb: rgb(var(--gray-600) / 0.8);--filter-border: rgb(var(--gray-200));--filter-surface: rgb(var(--background-light));--filter-hover: rgb(var(--gray-600) / 0.05);color:var(--filter-ink);margin-bottom:1rem;font-size:0.875rem;line-height:1.5}html.dark .nav-filter{--filter-ink: rgb(var(--gray-300));--filter-muted: rgb(var(--gray-400));--filter-breadcrumb: rgb(var(--gray-400) / 0.8);--filter-border: rgb(var(--gray-800));--filter-surface: rgb(var(--background-dark));--filter-hover: rgb(var(--gray-200) / 0.05)}.nav-filter-field{display:flex;align-items:center;gap:0.5rem;min-height:2.25rem;padding:0 0.625rem;border:1px solid var(--filter-border);border-radius:0.75rem;background:var(--filter-surface);transition:border-color 150ms ease, box-shadow 150ms ease}.nav-filter-field:focus-within{border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgb(var(--primary) / 0.12)}.nav-filter svg{width:1rem;height:1rem;flex:none;color:var(--filter-muted)}.nav-filter input{width:100%;min-width:0;padding:0.5rem 0;font:inherit;color:inherit;background:transparent;border:0;outline:none}.nav-filter input::placeholder{color:var(--filter-muted)}.nav-filter button{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex:none;border-radius:0.5rem;cursor:pointer}.nav-filter button:hover,.nav-filter-results a:hover{background:var(--filter-hover)}.nav-filter button:focus-visible,.nav-filter-results a:focus-visible{outline:2px solid rgb(var(--primary));outline-offset:2px}.nav-filter-status{padding:0.625rem 0.75rem 0;color:var(--filter-muted);font-size:0.75rem}.nav-filter-status:empty{display:none}.nav-filter-results{margin-top:0.5rem}.nav-filter-results ul{list-style:none;padding:0;margin:0}.nav-filter-results a{display:grid;gap:0.125rem;padding:0.5rem 0.75rem;border-radius:0.75rem;color:inherit;text-decoration:none}.nav-filter-results small{color:var(--filter-breadcrumb);font-size:0.75rem}.nav-filter-results small svg{display:inline;width:0.625rem;height:0.625rem;margin:0 0.125rem;vertical-align:-0.0625rem;color:inherit}.nav-filter-results a[aria-current=\"page\"]{background:rgb(var(--primary) / 0.1);color:rgb(var(--primary))}.nav-filter-empty{padding:0.75rem;color:var(--filter-muted)}.nav-filter [hidden],#navigation-items[hidden]{display:none}#mobile-nav #navigation-items[data-nav-filter-active]>:not(.nav-filter):not([data-nav-filter-controls]){display:none}@media (max-width: 1023px){.nav-filter input{font-size:1rem}.nav-filter-field{min-height:2.75rem}}@media (prefers-reduced-motion: reduce){.nav-filter-field{transition:none}}"}],"page":{"pagePath":"explore/dashboards/date-zoom","slug":"/explore/dashboards/date-zoom","pageMetadata":{"title":"Date zoom","description":"Change the time granularity of charts on your dashboard without editing them","href":"/explore/dashboards/date-zoom"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Change the time granularity of charts on your dashboard without editing them\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Date zoom lets viewers change the date granularity of time-based charts on a `,_jsx(_components.a,{href:`/explore/dashboards`,children:`dashboard`}),` without editing them. This is useful for zooming in to see daily patterns or zooming out to identify long-term trends.`]}),`\n`,_jsxs(_components.p,{children:[`Date zoom works through `,_jsx(_components.strong,{children:`controls`}),`, which behave like dashboard filters: each control is a pill in the dashboard toolbar that sets a granularity, and editors choose which charts each control governs. A dashboard has one built-in `,_jsx(_components.strong,{children:`Default zoom`}),` plus any number of named controls you add.`]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{alt:`Date zoom controls on a dashboard`,className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=be8c2f3c88228be6de98abac9feb2298`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`740`,height:`740`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-controls-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=b13cde58c1684d34a8ee56d85cb44ecb 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=587227d22c81192864611373d256400a 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=0929ce0f18c890433c47b89ca69cfb6c 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=56363b79c581634c5b0b26adb2ae537a 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=f6d792d42d622f2807c2aa9dc044f5f6 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=6a4e8cca96bd902fd2998a34e063ab9a 2500w`}),_jsx(OptimizedImage,{alt:`Date zoom controls on a dashboard`,className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=f462ac1ac1e9301748da804f854db06b`,\"data-og-width\":`1440`,width:`1440`,\"data-og-height\":`740`,height:`740`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-controls-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=edc2a9e80ee704172c8df157f3747596 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=4dd10bc07a0cf74ba2669de63209d1d7 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=11f85d20cc2ba61cc8cfdd416f8318ca 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=b6637c7786d1d3a23de7b4cbc9b22373 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=7c84ee17999c802e9bf7c55818bc4164 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-controls-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=31ac26d6d3846297848719115a677946 2500w`})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-date-zoom-works`,children:`How date zoom works`}),`\n`,_jsxs(_components.p,{children:[`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 `,_jsx(_components.strong,{children:`None`}),` to restore the charts’ original granularity.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Key behaviors:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A control only affects charts that have a date dimension in their results.`}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(_components.li,{children:`Each named control governs only the charts you attach to it, using a specific date field per chart.`}),`\n`,_jsxs(_components.li,{children:[`A chart can belong to at most one control. Charts already attached elsewhere show an `,_jsxs(_components.strong,{children:[`In `,_jsx(_components.em,{children:`[control name]`})]}),` badge and can’t be selected by another control.`]}),`\n`,_jsx(_components.li,{children:`Changes made by viewers are temporary. Refreshing the dashboard restores the configured defaults.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuring-available-granularities`,children:`Configuring available granularities`}),`\n`,_jsxs(_components.p,{children:[`The granularities offered by `,_jsx(_components.strong,{children:`every`}),` control on the dashboard are set on the `,_jsx(_components.strong,{children:`Default zoom`}),` pill. Named controls can only offer granularities you’ve enabled here.`]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{alt:`Configuring available date zoom granularities`,className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=13fd4a1c4a7d0f028501d0bc114702d0`,\"data-og-width\":`134`,width:`134`,\"data-og-height\":`345`,height:`345`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-settings-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=2ae83d707566793fe253a08a6e67a7e9 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=23621165fdafb18d3535130fba080aab 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=fffff27033f123daf96d1a6c01d0c786 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=afa8b9192a52e7c874771f17bfe543ae 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=8bab6212edcf9ab4c98ed3fe25c19621 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=c89a026dd356f929dc00a90506795bbc 2500w`}),_jsx(OptimizedImage,{alt:`Configuring available date zoom granularities`,className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=a68c9c5111977766211010453f15d1fa`,\"data-og-width\":`133`,width:`133`,\"data-og-height\":`345`,height:`345`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-settings-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=8c50ed5e2b0c4229f09f4a51110325f3 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=09c58bb7a1708120ee14ff4f2a7235e3 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=e2f270f5c4bffe89007d185913d4e1d5 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=eed4222d949d5e08f1afbde7cb3e8cd9 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=4d0c33af29ad231a1d99b904c5fdc1c4 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-settings-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=90d37c585f1f3f79d4c7b4d3e484ba6a 2500w`})]}),`\n`,_jsx(Heading,{level:`3`,id:`setting-available-granularities`,children:`Setting available granularities`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open the dashboard in edit mode`}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Default zoom`}),` dropdown`]}),`\n`,_jsx(_components.li,{children:`Use the checkboxes to enable or disable granularities`}),`\n`,_jsx(_components.li,{children:`At least one granularity must remain enabled`}),`\n`,_jsx(_components.li,{children:`Save the dashboard to persist your changes`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`setting-a-default-granularity`,children:`Setting a default granularity`}),`\n`,_jsx(_components.p,{children:`You can pin a granularity as the default that’s automatically applied when the dashboard loads:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Default zoom`}),` dropdown, click the pin icon next to a granularity`]}),`\n`,_jsx(_components.li,{children:`The pinned granularity becomes the default`}),`\n`,_jsx(_components.li,{children:`Click the pin again to remove the default`}),`\n`]}),`\n`,_jsx(_components.p,{children:`When a default is set, the dashboard automatically applies that granularity on load (unless overridden by a URL parameter). New controls also start at this granularity.`}),`\n`,_jsx(_components.p,{children:`Default granularities don’t apply when the dashboard is loaded with a granularity already specified in the URL.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-date-zoom-controls`,children:`Creating date zoom controls`}),`\n`,_jsx(_components.p,{children:`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).`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open the dashboard in edit mode`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add date zoom`})]}),`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Settings`}),` tab, give the control a name and pick its default granularity`]}),`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Chart tiles`}),` tab, select the charts this control should govern. For each selected chart, choose the `,_jsx(_components.strong,{children:`date field`}),` the zoom applies to. Charts are grouped by tab, and you can use `,_jsx(_components.strong,{children:`Select all`}),` or a tab’s checkbox to attach many at once.`]}),`\n`,_jsxs(_components.li,{children:[`A control must target at least one chart before you can save. Click `,_jsx(_components.strong,{children:`Save changes`}),`, then save the dashboard.`]}),`\n`]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{alt:`Date zoom control settings`,className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=de7df061a2825eedff954c84561d161c`,\"data-og-width\":`394`,width:`394`,\"data-og-height\":`281`,height:`281`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=4d55b84509fe711aba021dbc647404b7 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=37a64b2efa2e115a7a608c778fc5351c 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=a1e04ec848a3cce3122b61cfcd7c1754 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=4cd069bdcdf6c115ec224686f422ca40 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=a533975583d6946571c69467d222e5ed 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=d60b3266022658f8ca44c6563569f2ea 2500w`}),_jsx(OptimizedImage,{alt:`Date zoom control settings`,className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=94f18d144b40aca69b1a80a399a33f20`,\"data-og-width\":`394`,width:`394`,\"data-og-height\":`281`,height:`281`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=5c6ae6fa2d9d4edcfc5017692f5206fc 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=a924cc2fc8e8f26c6479dd76d7bdd7c1 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=5a201a65912fec638f6e391430fa8da3 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=481a40b766c9841f61398af43f49fe23 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=32c13736cf37a09fefb8265a5a085f91 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-settings-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=3cb90c89c7b3f8c9ee2cdac4a34c9db3 2500w`})]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{alt:`Attaching charts to a date zoom control`,className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=cc31d0f1ffa3db58abd6757f3f15bb3b`,\"data-og-width\":`474`,width:`474`,\"data-og-height\":`370`,height:`370`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=d1b04f486a730b8c75a826bf6d4ef40b 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=c5f4bfa82443a65e12ec215e4219ea6f 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=ebd2a8fd1ae5deb7cd6ea35ecb54eb39 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=b1ac34c01e57498351e77faedb515f6a 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=223c332a1aa9f408a974442935e0e3b7 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=9f74cc73a17ca31306c0b0e6c1707ac6 2500w`}),_jsx(OptimizedImage,{alt:`Attaching charts to a date zoom control`,className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=56e272cbd470359df1bdfaa4e35ef6a0`,\"data-og-width\":`474`,width:`474`,\"data-og-height\":`370`,height:`370`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=22f4f2207607c7397ada7aed708e0c8c 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=6bfe940b5384021098ddfef9812aee42 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=bb8e2be22906282b0b45b90d559a6b6e 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=dbed86ecbe92bcba56b6df66f2252d5b 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=d514a275d76acafd3c7f0201b228b529 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-control-charts-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=19308465ff6969c557f8880d6684d135 2500w`})]}),`\n`,_jsxs(_components.p,{children:[`To edit an existing control, open its pill and choose `,_jsx(_components.strong,{children:`Configure`}),`; to delete it, choose `,_jsx(_components.strong,{children:`Remove`}),`. Viewers can change a control’s granularity from its pill, or pick `,_jsx(_components.strong,{children:`Reset to default`}),` to return it to its configured granularity.`]}),`\n`,_jsxs(_components.p,{children:[`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 `,_jsx(_components.strong,{children:`Chart tiles`}),` list.`]}),`\n`,_jsx(Heading,{level:`2`,id:`using-custom-granularities`,children:`Using custom granularities`}),`\n`,_jsxs(_components.p,{children:[`Custom granularities defined in your `,_jsx(_components.code,{children:`lightdash.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.`]}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/semantic-layer/dimensions#using-custom-granularities`,children:`dimensions reference`}),` for how to create and configure custom granularities.`]}),`\n`,_jsx(Heading,{level:`2`,id:`hiding-or-showing-date-zoom-on-a-dashboard`,children:`Hiding or showing date zoom on a dashboard`}),`\n`,_jsx(_components.p,{children:`You can control date zoom visibility at two levels:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hide the whole date zoom section:`}),` in edit mode, click the `,_jsx(_components.strong,{children:`eye icon`}),` on the date zoom section chip in the dashboard toolbar. When hidden, no date zoom controls are shown to viewers.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hide an individual control:`}),` in edit mode, click the `,_jsx(_components.strong,{children:`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.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Hiding the whole section also stops the Default zoom’s pinned granularity from applying on load, so charts that aren’t attached to a named control render at the granularity they were saved with. Named controls keep applying their granularity to their charts, and a `,_jsx(_components.code,{children:`dateZoom`}),` parameter in the dashboard URL still overrides the saved granularity of unattached charts. Share the dashboard link without that parameter if every chart should keep its own granularity.`]}),`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.a,{href:`/workflow/content-as-code`,children:`dashboards as code`}),`, hiding the whole section is `,_jsx(_components.code,{children:`isDateZoomDisabled: true`}),` in the dashboard’s `,_jsx(_components.code,{children:`config`}),`.`]}),`\n`,_jsx(_components.p,{children:`Save the dashboard to persist visibility changes. You can show a section or control again at any time by toggling the eye icon back on in edit mode.`}),`\n`,_jsx(Heading,{level:`2`,id:`referencing-the-date-zoom-in-custom-sql`,children:`Referencing the date zoom in custom SQL`}),`\n`,_jsxs(_components.p,{children:[`The currently selected date zoom granularity is exposed as a built-in `,_jsx(_components.a,{href:`/semantic-layer/parameters#reserved-parameters`,children:`reserved parameter`}),` called `,_jsx(_components.code,{children:`date_zoom`}),`. You can reference it in custom SQL anywhere parameters are supported:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\"${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`ld`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`parameters`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.date_zoom}`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`It resolves to the granularity name in lowercase (for example `,_jsx(_components.code,{children:`day`}),`, `,_jsx(_components.code,{children:`week`}),`, `,_jsx(_components.code,{children:`month`}),`, `,_jsx(_components.code,{children:`quarter`}),`, `,_jsx(_components.code,{children:`year`}),`, or a `,_jsx(_components.a,{href:`/semantic-layer/lightdash-config-yml#custom-granularities-configuration`,children:`custom granularity`}),` name). When no date zoom is selected, the value is an empty string.`]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{alt:\"Custom SQL editor autocomplete listing ${ld.parameters.date_zoom} as a System variable\",className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=418874baae62d596e5b2d464b9414e87`,\"data-og-width\":`780`,width:`780`,\"data-og-height\":`472`,height:`472`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=af681a1801ebe9b37b1af842bd6e76e2 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=1c23867cac104348f7bc33ad192f3093 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=c83397fd8f09d057690f74d4653d101f 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=b333b11e094200daf41ab4e392e4d0b2 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=7e288fa6c1cf91c387f8d1bf8022813c 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=82e880a37cee52dddbf9c0fb64a0732e 2500w`}),_jsx(OptimizedImage,{alt:\"Custom SQL editor autocomplete listing ${ld.parameters.date_zoom} as a System variable\",className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=878bcc27eae9688d70dd69250f4874ca`,\"data-og-width\":`780`,width:`780`,\"data-og-height\":`472`,height:`472`,\"data-path\":`images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=34889dc3974b250cf8b329acbd72d9a6 280w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=decb543cfffb3a654c24a5e693ba9550 560w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=0240b67717b111ca689b6034b9a76a90 840w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=ecf8e75b29f21050b09f35b1c8be090c 1100w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=86df79b9f155c1d9366d6fd9be2d3400 1650w, https://mintcdn.com/lightdash/y8j5qvbhHoP381ni/images/explore/dashboards/date-zoom/date-zoom-reserved-parameter-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=y8j5qvbhHoP381ni\u0026q=85\u0026s=b2cfb8efdfbc654f773ab64f6d827105 2500w`})]}),`\n`,_jsx(_components.p,{children:`This is useful for adapting your SQL to the granularity the viewer picked on the dashboard, without defining a user parameter:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CASE`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` WHEN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`ld`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`parameters`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.date_zoom} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'week'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` THEN`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Weekly'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` WHEN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`ld`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`parameters`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.date_zoom} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'month'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` THEN`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Monthly'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` WHEN`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:\" ${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`ld`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`parameters`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.date_zoom} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` THEN`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'No date zoom applied'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ELSE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Other'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`END`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/semantic-layer/parameters#reserved-parameters`,children:`Reserved parameters`}),` for the full list and behavior.`]}),`\n`,_jsx(Heading,{level:`2`,id:`referencing-the-granularity-in-chart-labels`,children:`Referencing the granularity in chart labels`}),`\n`,_jsx(_components.p,{children:`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).`}),`\n`,_jsxs(_components.p,{children:[`Use the following placeholder in any supported label, where `,_jsx(_components.code,{children:`table_field`}),` is the base date dimension on the chart (for example `,_jsx(_components.code,{children:`orders_order_date`}),`):`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:\"${table_field.granularity}\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`At render time the placeholder is replaced with the granularity actually used to compile the query, lowercased — for example `,_jsx(_components.code,{children:`day`}),`, `,_jsx(_components.code,{children:`week`}),`, `,_jsx(_components.code,{children:`month`}),`, `,_jsx(_components.code,{children:`quarter`}),`, `,_jsx(_components.code,{children:`year`}),`, or a `,_jsx(_components.a,{href:`/semantic-layer/lightdash-config-yml#custom-granularities-configuration`,children:`custom granularity`}),` label.`]}),`\n`,_jsxs(_components.p,{children:[`For example, a y-axis label of `,_jsx(_components.code,{children:\"Orders per ${orders_order_date.granularity}\"}),` renders as `,_jsx(_components.code,{children:`Orders per week`}),` when the dashboard is zoomed to a weekly granularity.`]}),`\n`,_jsxs(_components.p,{children:[`When you type `,_jsx(_components.code,{children:`$`}),` 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.`]}),`\n`,_jsx(_components.p,{children:`You don’t need to remember the exact field id — Lightdash will insert the placeholder for you:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cartesian axis names, big-value labels, and gauge labels`}),` — type `,_jsx(_components.code,{children:`$`}),` in the label field and autocomplete lists every base date dimension on the chart.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pie group labels and funnel step labels`}),` — click the `,_jsx(_components.strong,{children:`insert date granularity`}),` icon inside the editable label field to insert the placeholder for the matching date dimension.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Supported labels:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/visualizations/big-value`,children:_jsx(_components.strong,{children:`Big value`})}),` — label and comparison label`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/explore/configure-charts`,children:_jsx(_components.strong,{children:`Bar, line, area, scatter, and mixed charts`})}),` — x-axis name, y-axis name, and series names`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/visualizations/pie-chart`,children:_jsx(_components.strong,{children:`Pie chart`})}),` — group labels`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/visualizations/gauge`,children:_jsx(_components.strong,{children:`Gauge`})}),` — custom value label and custom percentage label`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/visualizations/funnel-chart`,children:_jsx(_components.strong,{children:`Funnel chart`})}),` — step labels`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`If the referenced dimension isn’t on the chart, the placeholder is left untouched so you can see what’s missing.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Pie group labels and funnel step labels are per-category overrides — each custom label is keyed to a specific slice or step value. Because date zoom re-buckets dates (for example, the monthly `,_jsx(_components.code,{children:`2024-07`}),` slice becomes a weekly `,_jsx(_components.code,{children:`2024-07-15`}),` slice), an override set at one granularity stops matching after a viewer zooms to another and the custom label silently falls back to the raw value. If you need a label that survives date zoom, prefer the cartesian, big-value, or gauge labels above.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`date-zoom-in-embedded-dashboards`,children:`Date zoom in embedded dashboards`}),`\n`,_jsxs(_components.p,{children:[`Date zoom can be enabled or disabled in embedded dashboards using the `,_jsx(_components.code,{children:`canDateZoom`}),` option in your JWT token:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` content`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'dashboard'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` dashboardUuid`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'your-dashboard-uuid'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` canDateZoom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Enable date zoom in embed`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/embed/reference#date-zoom`,children:`embedding reference`}),` for complete details.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Date zoom","description":"Change the time granularity of charts on your dashboard without editing them","href":"/explore/dashboards/date-zoom"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How date zoom works","slug":"how-date-zoom-works","depth":2,"children":[]},{"title":"Configuring available granularities","slug":"configuring-available-granularities","depth":2,"children":[{"title":"Setting available granularities","slug":"setting-available-granularities","depth":3,"children":[]},{"title":"Setting a default granularity","slug":"setting-a-default-granularity","depth":3,"children":[]}]},{"title":"Creating date zoom controls","slug":"creating-date-zoom-controls","depth":2,"children":[]},{"title":"Using custom granularities","slug":"using-custom-granularities","depth":2,"children":[]},{"title":"Hiding or showing date zoom on a dashboard","slug":"hiding-or-showing-date-zoom-on-a-dashboard","depth":2,"children":[]},{"title":"Referencing the date zoom in custom SQL","slug":"referencing-the-date-zoom-in-custom-sql","depth":2,"children":[]},{"title":"Referencing the granularity in chart labels","slug":"referencing-the-granularity-in-chart-labels","depth":2,"children":[]},{"title":"Date zoom in embedded dashboards","slug":"date-zoom-in-embedded-dashboards","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lightdash/d0a9cf4e6619eae5/analytics.js","/_mintlify/custom/lightdash/09fccb112e45cce5/sidebar-filter.js","/_mintlify/custom/lightdash/4337efe479da3a6a/sidebar-navigation.js"],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"lightdash","siteName":"Lightdash","title":"Date zoom - Lightdash","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T01:10:55.065Z","originalFileLocation":"explore/dashboards/date-zoom.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Change the time granularity of charts on your dashboard without editing them\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lightdash\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Date zoom - Lightdash\">\u003cmeta data-mint-head property=\"og:description\" content=\"Change the time granularity of charts on your dashboard without editing them\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lightdash\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lightdash.com/explore/dashboards/date-zoom\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lightdash.mintlify.site/_mintlify/api/og/v2?division=Dashboards\u0026amp;title=Date+zoom\u0026amp;description=Change+the+time+granularity+of+charts+on+your+dashboard+without+editing+them\u0026amp;theme=ec550573033c2195fadd36ad\u0026amp;signature=94bea94490a71ea9f81b0d04900874a29259c24808b968d734a892f1277738bc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Date zoom - Lightdash\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Change the time granularity of charts on your dashboard without editing them\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lightdash.mintlify.site/_mintlify/api/og/v2?division=Dashboards\u0026amp;title=Date+zoom\u0026amp;description=Change+the+time+granularity+of+charts+on+your+dashboard+without+editing+them\u0026amp;theme=ec550573033c2195fadd36ad\u0026amp;signature=94bea94490a71ea9f81b0d04900874a29259c24808b968d734a892f1277738bc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lightdash\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8072ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lightdash.com/explore/dashboards/date-zoom\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/explore/dashboards/date-zoom.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lightdash.com/#organization\",\"name\":\"Lightdash\",\"url\":\"https://docs.lightdash.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/light.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=4b91c8292b732e3daca7558549cf018c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lightdash.com#website\",\"name\":\"Lightdash\",\"url\":\"https://docs.lightdash.com\",\"publisher\":{\"@id\":\"https://docs.lightdash.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lightdash.com/explore/dashboards/date-zoom#webpage\",\"url\":\"https://docs.lightdash.com/explore/dashboards/date-zoom\",\"name\":\"Date zoom\",\"description\":\"Change the time granularity of charts on your dashboard without editing them\",\"dateModified\":\"2026-10-30T01:10:55.065Z\",\"isPartOf\":{\"@id\":\"https://docs.lightdash.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lightdash.com/explore/dashboards/date-zoom#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lightdash.com/explore/dashboards/date-zoom#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Explore\",\"item\":\"https://docs.lightdash.com/explore\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dashboards\",\"item\":\"https://docs.lightdash.com/explore/dashboards\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Date zoom\",\"item\":\"https://docs.lightdash.com/explore/dashboards/date-zoom\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.lightdash.com/explore/dashboards/date-zoom#article\",\"headline\":\"Date zoom\",\"name\":\"Date zoom\",\"description\":\"Change the time granularity of charts on your dashboard without editing them\",\"url\":\"https://docs.lightdash.com/explore/dashboards/date-zoom\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lightdash.com/explore/dashboards/date-zoom#webpage\"},\"dateModified\":\"2026-10-30T01:10:55.065Z\",\"publisher\":{\"@id\":\"https://docs.lightdash.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lightdash.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lightdash\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lightdash","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Welcome to Lightdash","mode":"wide","href":"/introduction"},{"group":"Get started","icon":"rocket","root":{"title":"Getting started","href":"/get-started"},"directory":"card","pages":[{"title":"Quickstart","href":"/get-started/quickstart"},{"title":"Agentic onboarding with Aurora","sidebarTitle":"Agentic onboarding","tag":"Beta","href":"/get-started/agentic-onboarding"},{"title":"Explore your data","href":"/get-started/explore-your-data"},{"title":"Build your semantic layer","href":"/get-started/build-your-semantic-layer"},{"title":"Migrating from another BI tool","sidebarTitle":"Migrate from another BI tool","href":"/get-started/migrate-from-another-bi-tool"},{"title":"The Lightdash Way","href":"/get-started/lightdash-way"}]},{"group":"Explore","icon":"telescope","root":{"title":"Explore your data","href":"/explore"},"directory":"card","pages":[{"group":"Build charts","pages":[{"title":"Configure your charts","href":"/explore/configure-charts"},{"title":"Custom tooltips","href":"/explore/configure-custom-tooltip"},{"title":"Using custom fields","sidebarTitle":"Custom fields","href":"/explore/create-custom-fields"},{"title":"Formatting your fields","sidebarTitle":"Formatting fields","href":"/explore/formatting-your-fields"},{"title":"Period-over-period comparisons","sidebarTitle":"Period-over-period","href":"/explore/period-over-period"},{"title":"SQL runner","sidebarTitle":"SQL runner","href":"/explore/sql-runner"},{"title":"Merge queries","sidebarTitle":"Merge queries","href":"/explore/merge-queries"},{"title":"External sources","sidebarTitle":"External sources","tag":"Experimental","href":"/explore/external-sources"}]},{"group":"Table calculations","root":{"title":"Table calculations","href":"/explore/table-calculations"},"directory":"card","pages":[{"title":"Formula table calculations","sidebarTitle":"Formula","href":"/explore/table-calculations/formulas"},{"title":"Row functions","href":"/explore/table-calculations/functions/row-functions"},{"title":"Pivot functions","href":"/explore/table-calculations/functions/pivot-functions"},{"title":"Aggregate functions","href":"/explore/table-calculations/functions/aggregate-functions"},{"title":"SQL templates","href":"/explore/table-calculations/sql-templates"}]},{"group":"Dashboards","root":{"title":"Dashboards","href":"/explore/dashboards"},"pages":[{"title":"Interacting with dashboards","href":"/explore/dashboards/interact"},{"title":"Dashboard filters","href":"/explore/dashboards/filter"},{"title":"Dashboard parameter controls","sidebarTitle":"Parameter controls","tag":"Experimental","description":"Set parameter values for selected dashboard tiles and save the controls as code","href":"/explore/dashboards/parameter-controls"},{"title":"Date zoom","href":"/explore/dashboards/date-zoom"}]},{"title":"Documents","description":"Write up an analysis as a readable report, with live charts placed between your text","href":"/explore/documents"},{"group":"Explore view","root":{"title":"The Explore view","href":"/explore/explore-view"},"pages":[{"title":"Filtering in the Explore view","href":"/explore/explore-view/filter"}]},{"title":"Filters reference","href":"/explore/filters-reference"},{"group":"Metrics catalog","root":{"title":"Metrics catalog","href":"/explore/metrics-catalog"},"directory":"card","pages":[{"title":"Catalog","href":"/explore/metrics-catalog/curate-the-catalog"},{"title":"Saved Trees","href":"/explore/metrics-catalog/build-saved-trees"},{"title":"Drivers","href":"/explore/metrics-catalog/drivers"}]},{"title":"Search","href":"/explore/search"},{"title":"Learn","tag":"Beta","href":"/explore/learn"},{"group":"Organize and share","pages":[{"title":"Spaces","href":"/explore/spaces"},{"title":"Default user spaces","href":"/explore/default-user-spaces"},{"title":"Review requests","sidebarTitle":"Review requests","href":"/explore/review-requests"},{"title":"Homepage","href":"/explore/homepage"},{"title":"How to promote content","sidebarTitle":"Promoting content","href":"/explore/promote-content"},{"title":"Verified charts and dashboards","sidebarTitle":"Verified content","href":"/explore/verified-content"},{"title":"Version history","sidebarTitle":"Version history","href":"/explore/version-history"},{"title":"Sharing charts","href":"/explore/share-charts"},{"title":"Scheduled deliveries","href":"/explore/create-scheduled-deliveries"},{"title":"Alerts","href":"/explore/create-alerts"}]}]},{"group":"Visualizations","icon":"chart-histogram","root":{"title":"Visualizations","href":"/visualizations"},"directory":"card","pages":[{"group":"Built-in charts","pages":[{"title":"Bar chart","icon":"chart-bar","href":"/visualizations/bar-chart"},{"title":"Line chart","icon":"chart-line","href":"/visualizations/line-chart"},{"title":"Area chart","icon":"chart-area","href":"/visualizations/area-chart"},{"title":"Mixed chart","icon":"chart-area-line","href":"/visualizations/mixed-chart"},{"title":"Scatter chart","icon":"chart-scatter","href":"/visualizations/scatter-chart"},{"title":"Pie chart","icon":"chart-pie","href":"/visualizations/pie-chart"},{"title":"Funnel chart","icon":"chart-funnel","href":"/visualizations/funnel-chart"},{"title":"Treemap chart","icon":"chart-treemap","href":"/visualizations/treemap-chart"},{"title":"Sankey chart","icon":"chart-sankey","tag":"Beta","href":"/visualizations/sankey"},{"title":"Table","icon":"table","href":"/visualizations/table"},{"title":"Big value","icon":"number-123","href":"/visualizations/big-value"},{"title":"Gauge","icon":"gauge","href":"/visualizations/gauge"},{"title":"Map","icon":"world","href":"/visualizations/map"}]},{"group":"Custom charts","root":{"title":"Custom charts","sidebarTitle":"Custom charts","href":"/visualizations/custom-charts"},"pages":[{"title":"Create reusable chart types with Chart Studio","sidebarTitle":"Chart Studio","href":"/visualizations/chart-studio"},{"title":"Install chart types from the chart library","sidebarTitle":"Chart library","href":"/visualizations/chart-library"}]}]},{"group":"Semantic layer","icon":"stack-2","root":{"title":"Lightdash semantic layer","href":"/semantic-layer"},"directory":"card","pages":[{"title":"Tables reference","sidebarTitle":"Tables","href":"/semantic-layer/tables"},{"title":"Dimensions reference","sidebarTitle":"Dimensions","href":"/semantic-layer/dimensions"},{"title":"Metrics reference","sidebarTitle":"Metrics","href":"/semantic-layer/metrics"},{"title":"Joins reference","sidebarTitle":"Joins","href":"/semantic-layer/joins"},{"title":"Nested and repeated columns","href":"/semantic-layer/nested-and-repeated-columns"},{"title":"Explores","sidebarTitle":"Explores","href":"/semantic-layer/explores"},{"title":"How to use parameters","sidebarTitle":"Parameters","href":"/semantic-layer/parameters"},{"title":"SQL variables","href":"/semantic-layer/sql-variables"},{"title":"Virtual views","href":"/semantic-layer/virtual-views"},{"title":"Lightdash YAML","sidebarTitle":"Lightdash YAML","href":"/semantic-layer/yaml"},{"title":"Caching","href":"/semantic-layer/caching"},{"group":"Pre-aggregates","root":{"title":"Pre-aggregates","href":"/semantic-layer/pre-aggregates"},"directory":"card","pages":[{"title":"External pre-aggregates","sidebarTitle":"External","href":"/semantic-layer/pre-aggregates/external"},{"title":"Monitoring and debugging pre-aggregates","sidebarTitle":"Monitoring and debugging","href":"/semantic-layer/pre-aggregates/monitoring"},{"title":"Auditing pre-aggregates from the CLI","sidebarTitle":"CLI audit","href":"/semantic-layer/pre-aggregates/audit-with-cli"}]},{"title":"lightdash.config.yml reference","sidebarTitle":"lightdash.config.yml","href":"/semantic-layer/lightdash-config-yml"},{"title":"Writing useful descriptions in your semantic layer","sidebarTitle":"Writing descriptions","href":"/semantic-layer/writing-descriptions"},{"title":"dbt modeling strategies for Lightdash","sidebarTitle":"Modeling strategies","href":"/semantic-layer/modeling-strategies"}]},{"group":"Workflow","icon":"git-branch","root":{"title":"Workflow","href":"/workflow"},"directory":"card","pages":[{"group":"CLI","root":{"title":"Lightdash CLI","sidebarTitle":"CLI","href":"/workflow/cli"},"directory":"card","pages":[{"title":"How to install the Lightdash CLI","sidebarTitle":"Install the CLI","href":"/workflow/cli/install"},{"title":"Authenticate the CLI","sidebarTitle":"Authenticate","href":"/workflow/cli/authenticate"},{"title":"Generate semantic layer YAML","sidebarTitle":"Generate YAML","href":"/workflow/cli/generate"},{"title":"Deploy changes to production","sidebarTitle":"Deploy changes","href":"/workflow/cli/deploy"},{"title":"Validate content","sidebarTitle":"Validate","href":"/workflow/cli/validate"},{"title":"Lint your code","sidebarTitle":"Lint","href":"/workflow/cli/lint"},{"title":"Compilation","sidebarTitle":"Compilation","href":"/workflow/cli/compile"},{"title":"Lightdash CLI reference","sidebarTitle":"Reference","href":"/workflow/cli/reference"}]},{"title":"Lightdash Desktop","sidebarTitle":"Desktop","tag":"Experimental","href":"/workflow/lightdash-desktop"},{"title":"Lightdash Mobile","sidebarTitle":"Mobile","href":"/workflow/lightdash-mobile"},{"title":"Preview projects","href":"/workflow/preview-projects"},{"title":"Pull requests","href":"/workflow/pull-requests"},{"title":"Automate with CI/CD","href":"/workflow/set-up-ci-cd"},{"title":"Validating your content","href":"/workflow/validating-your-content"},{"title":"Content as code","href":"/workflow/content-as-code"},{"title":"Local data app development","href":"/workflow/local-data-app-development"},{"title":"Migrate dashboards between projects","sidebarTitle":"Migrate dashboards","href":"/workflow/migrate-dashboards-between-projects"},{"title":"Editing dashboards with agents","href":"/workflow/edit-dashboards-with-agents"},{"title":"Agent skills","href":"/workflow/install-agent-skills"},{"title":"Set up VS Code for Lightdash","sidebarTitle":"Set up VS Code","href":"/workflow/set-up-vs-code"},{"title":"Renaming models, metrics, and dimensions","sidebarTitle":"Rename models and fields","href":"/workflow/rename-models-and-fields"},{"title":"Keyboard shortcuts","href":"/workflow/keyboard-shortcuts"}]},{"group":"Agents","icon":"robot","root":{"title":"AI agents","href":"/agents"},"directory":"card","pages":[{"group":"Set up agents","pages":[{"title":"Set up AI agents","sidebarTitle":"Set up agents","href":"/agents/set-up-agents"},{"title":"AI Router","sidebarTitle":"AI Router","href":"/agents/enable-ai-router"},{"title":"Data access control","href":"/agents/data-access"},{"title":"Agent identity","sidebarTitle":"Agent identity","tag":"Beta","href":"/agents/agent-identity"},{"title":"Agent permissions","sidebarTitle":"Agent permissions","tag":"Beta","href":"/agents/agent-permissions"},{"title":"Agent access to restricted data","sidebarTitle":"Restricted data","href":"/agents/agent-access-to-restricted-data"},{"title":"Thread retention","href":"/agents/thread-retention"}]},{"group":"Work with agents","pages":[{"title":"Using AI agents","href":"/agents/use-ai-agents"},{"title":"Deep research","sidebarTitle":"Deep research","href":"/agents/deep-research"},{"title":"Creating and editing content","sidebarTitle":"Content editing","tag":"Beta","href":"/agents/enable-content-tools"}]},{"group":"Improve answers","pages":[{"title":"Effective analytics with agents","sidebarTitle":"Effective analytics","href":"/agents/effective-analytics-with-agents"},{"title":"Agent context","sidebarTitle":"Agent context","href":"/agents/agent-context"},{"title":"Knowledge documents","href":"/agents/knowledge-documents"},{"title":"Custom agent skills","href":"/agents/custom-agent-skills"},{"title":"Verified answers","href":"/agents/verified-answers"},{"title":"Create evaluation suites","href":"/agents/create-evaluation-suites"},{"title":"Agent visibility","sidebarTitle":"Visibility","href":"/agents/visibility"},{"title":"AI agent issues","sidebarTitle":"Issues","tag":"Beta","href":"/agents/issues"},{"title":"Send issues to Linear and Jira","sidebarTitle":"Linear and Jira","tag":"Beta","href":"/agents/issues-linear-jira"}]},{"group":"Build agent workflows","pages":[{"title":"AI agents as code","sidebarTitle":"Agents as code","href":"/agents/agents-as-code"},{"title":"AI writeback","href":"/agents/ai-writeback"},{"title":"AI coding agent","tag":"Beta","href":"/agents/ai-coding-agent"},{"title":"Autopilot","sidebarTitle":"Autopilot","tag":"Beta","href":"/agents/autopilot"}]},{"group":"Integrations","pages":[{"title":"Set up agents in Slack","href":"/agents/set-up-slack-agents"},{"title":"Lightdash MCP server","href":"/agents/lightdash-mcp"},{"title":"Lightdash Docs MCP","href":"/agents/lightdash-docs-mcp"},{"title":"Connect external MCP servers","sidebarTitle":"External MCP servers","href":"/agents/connect-external-mcp-servers"}]}]},{"group":"Data apps","icon":"cube-spark","root":{"title":"Data apps","tag":"Beta","href":"/data-apps"},"tag":"Beta","directory":"card","pages":[{"title":"Customize themes","sidebarTitle":"Themes","href":"/data-apps/customize-themes"},{"title":"External connections","sidebarTitle":"External connections","href":"/data-apps/external-connections"},{"title":"Custom dependencies","tag":"Experimental","href":"/data-apps/custom-dependencies"},{"title":"Scheduled deliveries and syncs","sidebarTitle":"Deliveries and syncs","href":"/data-apps/deliveries-and-syncs"},{"title":"Build maps and globes in a data app","sidebarTitle":"Build maps and globes","href":"/data-apps/build-maps-and-globes"},{"title":"AI analysis","sidebarTitle":"AI analysis","tag":"Experimental","href":"/data-apps/ai-analysis"},{"title":"Saved app state","sidebarTitle":"Saved app state","tag":"Experimental","href":"/data-apps/saved-app-state"}]},{"group":"Embed","icon":"image-in-picture","root":{"title":"Embedding","href":"/embed"},"directory":"card","pages":[{"title":"Set up embedding","sidebarTitle":"Set up embedding","href":"/embed/set-up-embedding"},{"title":"How to Embed Dashboards","sidebarTitle":"Dashboards","href":"/embed/embed-dashboards"},{"title":"How to Embed Charts","sidebarTitle":"Charts","href":"/embed/embed-charts"},{"title":"How to embed AI agents","sidebarTitle":"AI agents","href":"/embed/embed-ai-agents"},{"title":"How to embed the metrics catalog","sidebarTitle":"Metrics catalog","href":"/embed/embed-metrics-catalog"},{"title":"How to embed data apps","sidebarTitle":"Data apps","href":"/embed/embed-data-apps"},{"title":"Embedding reference","href":"/embed/reference"},{"title":"Embedding with iframe","sidebarTitle":"iframe","href":"/embed/iframe"},{"title":"Embedding with React SDK","sidebarTitle":"React SDK","href":"/embed/react-sdk"},{"title":"How to translate embedded dashboards","sidebarTitle":"Translating dashboards","href":"/embed/translate-embedded-dashboards"}]},{"group":"Integrations","icon":"plug","root":{"title":"Integrations","href":"/integrations"},"directory":"card","pages":[{"title":"Connect your warehouse and project","sidebarTitle":"Connect your project","href":"/integrations/connect-project"},{"title":"Connect through an SSH tunnel","href":"/integrations/connect-through-ssh-tunnel"},{"title":"Connect Athena with web identity","sidebarTitle":"Athena web identity","tag":"Beta","href":"/integrations/connect-athena-with-web-identity"},{"group":"dbt","root":{"title":"dbt","href":"/integrations/dbt"},"directory":"card","pages":[{"title":"Syncing dbt projects","sidebarTitle":"Syncing dbt projects","href":"/integrations/dbt/projects"},{"title":"dbt write-back","href":"/integrations/dbt/write-back"},{"title":"dbt MetricFlow metrics","sidebarTitle":"dbt MetricFlow","href":"/integrations/dbt/metricflow"},{"title":"Upgrading dbt","href":"/integrations/dbt/upgrading"}]},{"title":"Slack integration","sidebarTitle":"Slack","href":"/integrations/slack"},{"group":"Google Sheets","root":{"title":"Google Sheets","href":"/integrations/google-sheets"},"directory":"card","pages":[{"title":"Lightdash for Google Sheets","sidebarTitle":"Google Sheets add-on","href":"/integrations/google-sheets/add-on"}]},{"title":"Metrics SQL API","tag":"Beta","href":"/integrations/metrics-sql-api"},{"title":"Snowflake Cortex","href":"/integrations/snowflake-cortex"},{"title":"Apache Ossie","tag":"Experimental","href":"/integrations/apache-ossie"}]},{"group":"Workspace admin","icon":"shield-cog","root":{"title":"Workspace admin","href":"/workspace-admin"},"directory":"card","pages":[{"group":"Access and permissions","pages":[{"title":"Invite your team","sidebarTitle":"Invite your team","href":"/workspace-admin/invite-new-users"},{"title":"Roles and permissions","href":"/workspace-admin/roles"},{"title":"Direct access","href":"/workspace-admin/direct-access"},{"title":"Custom Roles","href":"/workspace-admin/custom-roles"},{"title":"Groups","href":"/workspace-admin/manage-groups"},{"title":"User attributes","href":"/workspace-admin/user-attributes"},{"title":"Service accounts","href":"/workspace-admin/service-accounts"}]},{"group":"SSO","root":{"title":"SSO providers","href":"/workspace-admin/sso"},"directory":"card","pages":[{"title":"SSO setup","href":"/workspace-admin/sso/setup"},{"title":"Verified domains","href":"/workspace-admin/sso/verified-domains"},{"title":"SCIM Integration","href":"/workspace-admin/sso/scim"}]},{"group":"Organization settings","pages":[{"title":"Managing your organization","href":"/workspace-admin/manage-your-organization"},{"title":"Creating multiple projects","href":"/workspace-admin/manage-projects"},{"title":"AI settings","href":"/workspace-admin/ai-settings"},{"title":"Customizing the appearance of your project","sidebarTitle":"Color palettes","href":"/workspace-admin/appearance"},{"title":"Custom email domain","href":"/workspace-admin/set-up-custom-email-domain"},{"title":"Organization credentials","href":"/workspace-admin/organization-credentials"},{"title":"Multiple warehouse connections","sidebarTitle":"Warehouse connections","tag":"Experimental","href":"/workspace-admin/multiple-warehouse-connections"},{"title":"Set up timezones","sidebarTitle":"Timezones","href":"/workspace-admin/set-project-timezone"}]},{"group":"Monitoring and limits","pages":[{"title":"Usage analytics","href":"/workspace-admin/usage-analytics"},{"title":"Usage analytics project","tag":"Beta","href":"/workspace-admin/usage-analytics-project"},{"title":"Project compilation history","href":"/workspace-admin/project-compilation-history"},{"title":"Export limits","href":"/workspace-admin/export-limits"},{"title":"Instance health","href":"/workspace-admin/instance-health"}]}]},{"group":"Personal settings","icon":"user-cog","root":{"title":"Personal settings","href":"/personal-settings"},"directory":"card","pages":[{"title":"Personal access tokens","sidebarTitle":"Access tokens","href":"/personal-settings/create-personal-tokens"},{"title":"Personal warehouse connections","sidebarTitle":"Warehouse connections","href":"/personal-settings/personal-warehouse-connections"},{"title":"Timezones","href":"/personal-settings/timezone"}]},{"group":"Self-host","icon":"server-bolt","root":{"title":"Self-hosting","href":"/self-host"},"directory":"card","pages":[{"title":"Lightdash Cloud vs. Self-Hosted","href":"/self-host/lightdash-cloud-vs-self-hosted"},{"title":"Enterprise on-prem setup","sidebarTitle":"On-prem setup","href":"/self-host/enterprise-on-prem"},{"title":"Production deployment checklist","href":"/self-host/production-deployment-checklist"},{"title":"Data flows and telemetry in self-hosted Lightdash","sidebarTitle":"Data flows and telemetry","href":"/self-host/data-flows-and-telemetry"},{"title":"Environment variables","mode":"wide","href":"/self-host/customize-deployment/environment-variables"},{"group":"Install","pages":[{"title":"Self-Host Lightdash","href":"/self-host/self-host-lightdash"},{"title":"Self-host Lightdash using docker compose","sidebarTitle":"Docker compose","href":"/self-host/self-host-lightdash-docker-compose"}]},{"group":"Upgrading","pages":[{"title":"Upgrade your instance","href":"/self-host/upgrading"},{"title":"Upgrade notes","href":"/self-host/upgrade-notes"}]},{"group":"Connect services","pages":[{"title":"Configure a Github integration for self-hosted Lightdash","sidebarTitle":"Github Integration","href":"/self-host/customize-deployment/configure-github-for-lightdash"},{"title":"Configure a Slack integration for self-hosted Lightdash","sidebarTitle":"Slack Integration","href":"/self-host/customize-deployment/configure-a-slack-app-for-lightdash"},{"title":"Configure a Google Sheets integration for self-hosted Lightdash","sidebarTitle":"Google sheets","href":"/self-host/customize-deployment/configure-google-sheets-integration"}]},{"group":"Infrastructure","pages":[{"title":"Configure Lightdash to use an external database","sidebarTitle":"Use External Database","href":"/self-host/customize-deployment/configure-lightdash-to-use-an-external-database"},{"title":"Configure Lightdash to use external storage","sidebarTitle":"External storage","href":"/self-host/customize-deployment/configure-lightdash-to-use-external-object-storage"},{"title":"Run a dedicated scheduler worker","sidebarTitle":"Scheduler worker","href":"/self-host/customize-deployment/scheduler"},{"title":"Add headless browser on self-hosting","sidebarTitle":"Headless browser","href":"/self-host/customize-deployment/enable-headless-browser-for-lightdash"},{"title":"Sandboxes","sidebarTitle":"Sandboxes","href":"/self-host/customize-deployment/sandboxes"},{"title":"Secure Lightdash with HTTPS","sidebarTitle":"Secure with HTTPS","href":"/self-host/customize-deployment/secure-lightdash-with-https"},{"title":"Configure Prometheus metrics for self-hosted Lightdash","sidebarTitle":"Prometheus metrics","href":"/self-host/customize-deployment/configure-prometheus-metrics-for-self-hosted-lightdash"},{"title":"Configure OpenTelemetry tracing for self-hosted Lightdash","sidebarTitle":"OpenTelemetry tracing","href":"/self-host/customize-deployment/configure-opentelemetry-tracing-for-self-hosted-lightdash"}]},{"group":"Access and licensing","pages":[{"title":"Configure Lightdash to use passwords or SSO for authentication","sidebarTitle":"SSO and auth","href":"/self-host/customize-deployment/use-sso-login-for-self-hosted-lightdash"},{"title":"Organization roadmap","href":"/self-host/customize-deployment/organization-roadmap"}]},{"group":"Enterprise features","root":{"title":"Self-hosting Enterprise Edition","sidebarTitle":"Enterprise features","href":"/self-host/enterprise-features"},"pages":[{"title":"Self-host agents","sidebarTitle":"Agents","href":"/self-host/enterprise-features/ai-agents"},{"title":"Self-host the MCP server","sidebarTitle":"MCP","href":"/self-host/enterprise-features/mcp"},{"title":"Self-host data apps","sidebarTitle":"Data apps","href":"/self-host/enterprise-features/data-apps"},{"title":"Self-host pre-aggregates","sidebarTitle":"Pre-aggregates","href":"/self-host/enterprise-features/pre-aggregates"},{"title":"Self-hosted usage analytics","sidebarTitle":"Usage analytics","tag":"Beta","href":"/self-host/enterprise-features/usage-analytics"}]},{"group":"NATS workers","root":{"title":"NATS workers","href":"/self-host/nats-workers"},"directory":"card","pages":[{"title":"Warehouse workers","sidebarTitle":"Warehouse workers","href":"/self-host/nats-workers/warehouse-workers"},{"title":"Pre-aggregate workers","sidebarTitle":"Pre-aggregate workers","href":"/self-host/nats-workers/pre-aggregate-workers"}]}]},{"group":"Support","icon":"lifebuoy","root":{"title":"Support","href":"/support"},"directory":"card","pages":[{"title":"Generating a HAR file","href":"/support/generate-har-file"},{"title":"AI thread debug dump","href":"/support/ai-thread-debug-dump"},{"title":"Feature badges reference","href":"/support/feature-badges"},{"title":"Support access","href":"/support/support-access"}]}]},{"tab":"API","pages":[{"title":"API","href":"/api-reference/v1/introduction"}]}]},"basePath":"","title":"Date zoom - Lightdash","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CXMGc493.js","DynamicMarkdown-D-2HDKEp.js","zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}