Adding a date range control takes ten seconds. The confusing part is that three different places can set a date range, and the most specific one always wins. That single rule explains almost every “why is my chart ignoring the control” question.
This walks through adding the control, the three levels and which wins, setting defaults that don’t need touching every month, comparison ranges on every chart that has them, locking a chart’s dates, and a diagnostic list for when a chart won’t respond.
What the date range control actually does, and how to add one
It’s a calendar widget your readers can change without edit access. By default it governs every chart on the page that has a date dimension.
Two conditions have to hold for it to do anything at all:
- The report has at least one data source with a genuine Date field
- The charts you want it to affect have a date range dimension set
- In edit mode, open Add a control in the toolbar.
- Choose Date range control, below the divider, and draw it on the canvas.
- In its properties panel, set the Default date range, or leave it on Auto (the Auto section below explains the risk).
- Use the Style tab for how it looks.

One more detail from Google’s documentation: if a chart’s source has two date fields (an order date and a ship date, say), the control only filters the one set as that chart’s Date range dimension. And one control can filter charts on different sources with different date fields; each chart uses its own.
The three levels, and which one wins
This is the core of it. A date range can be set in three places, and they resolve in this order:
| Level | Set at | Beats |
|---|---|---|
| Component | The chart’s Setup tab, “Default date range” | Everything. This chart does what it likes. |
| Page | Page → Current page settings | The report level, for charts on this page |
| Report | File → Report settings | Nothing. It’s the fallback. |
The most specific level wins, and each level inherits from the one above when it’s left unset. A chart set to Auto takes the page’s range; a page set to Auto takes the report’s.

It’s easy to think of this as two levels, chart and report. It’s three, and the middle one is why people can’t work out where a range is coming from. If a chart is showing something you didn’t set on the chart or the report, check the page.
- Report level: File › Report settings, then the Setup tab, then Default date range filter: Auto or Custom.
- Page level: Page › Current page settings, then the Setup tab of the Properties panel. The same Auto or Custom date range choice is there, on the tab that also holds the page’s own Date range dimension.
- Chart level: select the chart, Setup tab, Default date range.

The practical use for the page level: a report where most pages show the last 28 days but one year-on-year page needs the last 13 months. Set it once on that page instead of on each of its charts.
Setting the default date range
The default is what people see before they touch anything, and, unless someone changes a schedule’s Filters tab, what a PDF or scheduled email sends. That makes it more important than it sounds.
Auto, and why two charts can disagree
Auto means “whatever the connector’s default is”, and connectors disagree. Google’s documentation gives the examples: the Ads, Analytics and YouTube connectors default to the last 28 days, while Google Sheets and BigQuery return every date in the dataset.
So a report combining GA4 and a Google Sheet, both left on Auto, opens with two charts showing different periods, and nothing on screen tells you. It’s a common cause of “the numbers don’t tie up”, and the fix is to set an explicit default rather than leaving Auto.
Fixed and rolling ranges
| Type | What it is | Use it for |
|---|---|---|
| Fixed | A hard start and end date | A campaign or a closed period. Wrong for anything recurring, because someone has to update it |
| Rolling | A preset relative to today: Yesterday, Last 7 days, Last 28 days, Last quarter, Year to date and so on | Almost every recurring report |
| Advanced | A start and an end, each built from Today or a fixed date, plus or minus a number of units | Windows the presets don’t offer, such as anything ending yesterday |
Two details on rolling ranges. Weekly presets start on Sunday unless you pick the “(starts Monday)” version. And watch the Include today checkbox: it adds whatever has been collected so far today, and today is always a partial day, so the last point on every time series dips. Unless you want today’s incomplete numbers, leave it off. It’s a common reason a chart looks like performance fell off a cliff.
Advanced ranges, step by step
The option that’s easiest to miss. It gets you things the preset list can’t: last 90 days ending yesterday (so today’s partial data never appears), or last 52 weeks ending last week (so a weekly report never shows a half-finished week).
- Select the chart (or the date range control) and open the Setup tab.
- In Default date range, choose Custom, then open the calendar.
- Switch the dropdown at the top to Advanced.
- For the start date choose Today (rolling) or Fixed, then Minus or Plus, a number, and a unit.
- Do the same for the end date, and click Apply.

| Range | Start date | End date |
|---|---|---|
| Last 7 days, ending yesterday | Today · Minus · 7 · Days | Today · Minus · 1 · Days |
| Last 90 days, ending yesterday | Today · Minus · 90 · Days | Today · Minus · 1 · Days |
| Last 30 days, including today | Today · Minus · 29 · Days | Today · Minus · 0 · Days |
Google’s tip for learning the builder: pick a preset such as “Last week (starts Monday)”, then edit the range and switch to Advanced to see how it’s built. For any report someone reads on a Monday morning, ending the range at yesterday or last week is usually the right call.
Making one control cover the whole report
- Add the date range control on the first page.
- Right-click it (or open Arrange) and choose Make report-level.

The control now appears on every page in the same position. It’s one control shown on every page, not a copy per page, so — the part that matters — the selection carries across pages. I’ve checked this in the product: a reader sets it to last quarter on page one and page four is already showing last quarter. Without this, every page has its own control and its own state, which is confusing to use and tedious to maintain.
One gotcha Google documents: by default, report-level components sit behind everything else on the page. If your control has vanished on one page, it’s probably behind a chart. Fix it once for the whole report:
- Open Theme and layout › Layout.
- Set Report-level component position to Top.

For anything longer than about three pages, make the date control and any global filters report-level as a matter of course. It’s the same principle as report-level headers in the interface. One exception: Google lists report-level components (and grouping) among the things a responsive report doesn’t support, so this applies to freeform reports.
Comparison date ranges
A comparison range adds “vs previous period” or “vs previous year” to a chart, which is what turns a number into information. Chapter 6 of my ebook, Data Storytelling in Data Studio, covers which comparison a reader actually needs (a target, a prior period, a benchmark or a segment split) and what each Data Studio component can compare.
Setting one, step by step
- Select the chart and open the Setup tab.
- On a scorecard only: check Comparison type is Period, the default (it reads “Full stop” in UK English). The comparison range doesn’t appear with Value, Metric or None.
- In the Default date range section, open Comparison date range.
- Choose Previous period, Previous year, a Fixed range or an Advanced one, and click Apply.
A time series shows the comparison as a second line in another colour; a table shows each value’s change with an up or down indicator; a scorecard shows the change under the number. A new scorecard already compares with the previous period without anyone setting it.

Previous period or previous year?
Google’s own example, for “Last 7 days” viewed on 1 January 2019:
| Comparison | Current dates | Compared with |
|---|---|---|
| Previous period | 25–31 Dec 2018 | 18–24 Dec 2018, the same length immediately before |
| Previous year | 25–31 Dec 2018 | 25–31 Dec 2017, the same calendar dates |
| Fixed (1–7 June 2018) | 25–31 Dec 2018 | 1–7 June 2018, whatever the current range |
Previous year for anything seasonal; previous period for short operational views. Previous year matches calendar dates, not weekdays, so a month (or any range that isn’t a whole number of weeks) can hold one more Saturday than the same dates last year. If your business has a strong weekly rhythm, an Advanced comparison can align by day of the week: Google’s example compares the last 30 days (excluding today) with a comparison start of Today minus 58 days and end of Today minus 29 days. That shifts the whole window back 28 days, exactly four weeks, so Monday lines up with Monday.

A scorecard takes one comparison at a time. For two, stack a second scorecard under the first, as above.
Three limits worth knowing before you promise a client something
- Only editors can set comparison ranges. A viewer with a date range control can change the timeframe, but they can’t toggle a comparison on or change what it compares to. If people need to switch between year-on-year and month-on-month themselves, you need two charts or two pages, not a control.
- It isn’t available on every chart type. Google’s chart references list it for time series, tables, scorecards, line and combo, scatter, gauge and bullet charts. The area, bar, pie and pivot table references don’t.
- “Group the rest as ‘Others'” doesn’t work with comparison metrics (calculations such as Percent of total), which is covered with the row limits. That limit is about those calculations, not the comparison date range.
Locking a chart’s dates so the control can’t change them
Sometimes a chart must not move: the headline on a summary page, or “this month against target”. Google documents two ways to keep a control off it.
| Method | How | Use it when |
|---|---|---|
| Give the chart its own range | Select the chart, Setup › Default date range › Custom, and set the window (a rolling or advanced range keeps it current) | One or two charts on a page that otherwise follows the control |
| Group the control with its charts | Select the control and the charts it should drive, then Arrange › Group (Ctrl+G, or Cmd+G on a Mac) | A page with two areas, each with its own control |
There’s no per-chart “ignore this control” switch, so these two are the mechanism. Google also notes you can’t group page-level components with report-level ones, so a report-level control can’t be grouped with one page’s charts. On a report with a report-level date control, giving the chart its own range is the way to lock it.
Why a chart ignores your date range control
In roughly the order that resolves it fastest:
- The chart has its own default date range. By precedence it beats the control. Open its Setup tab and set the date range back to Auto. In my experience this is the usual answer.
- The chart has no date range dimension. Without one, there’s nothing for the control to filter.
- The date range dimension is a different date field. With an order date and a ship date, the control filters whichever the chart’s Setup names.
- The date field isn’t actually a Date. A text column that reads
2026-04-01is still text. Fix the type in the data source — and note it needs a complete date: year, month and day. A field holding only year and month won’t work. - The control is grouped with other components. Grouping scopes a control to its group, so anything outside the group is unaffected. This one is invisible until you know to look for it.
- The control is on a different page and isn’t report-level. Make it report-level.
- The chart uses a blend, and the date isn’t carried through the join. If the date dimension didn’t survive the blend, there’s nothing to filter on.
- The connector sets the date dimension for you. On Google Ads and Google Analytics sources it’s set automatically and can’t be changed, so what you’re seeing is intended behaviour.
If you’re several items down this list and still stuck, open View applied filters in view mode. More often than people expect, the chart is responding correctly to a filter somebody forgot about.
When your date field isn’t really a date
Worth its own note because it accounts for so much lost time, especially with Google Sheets.
Data Studio needs a Date-typed field with a complete date in it. Spreadsheet columns often arrive as text, particularly when several people maintain the sheet and the formats have drifted. The tells: the field has a text icon in the data panel, date-based charts don’t sort chronologically, and the control has no effect.
The fix is in the data source, not the report: set the field’s type to Date with the right format. Do it there and every chart in every report using that source is fixed at once — which is exactly the behaviour described in data sources vs datasets.
What to set up, depending on the report
| Report | Control | Default range | Comparison |
|---|---|---|---|
| Recurring client report | One, report-level | Explicit rolling range ending yesterday | Previous year (or period) on the headline scorecards, set once |
| Internal dashboard people poke at | Report-level, plus whatever the team needs | Not Auto. Lock the charts that must stay stable with their own range | Where the reader needs a verdict |
| One-off analysis | Optional | Fixed is fine; it won’t be read next quarter | As the question needs |
For a client report, that’s set once and never touched again. For an internal dashboard, accept that people will change the dates and not change them back; anything that has to stay stable gets its own component-level range, which is the legitimate use of overriding the hierarchy.
Frequently asked questions
Why doesn’t my chart respond to the date range control?
Most often the chart has its own default date range set, which beats the control by precedence — set it back to Auto in the chart’s Setup tab. Other causes: no date range dimension, a different date field set as the date range dimension, a date field that’s actually text, the control being grouped with other components, or the control being on another page without being report-level.
Where do I set the default date range — report, page or chart?
All three exist and the most specific wins. Chart level (Setup tab) beats page level (Page → Current page settings), which beats report level (File → Report settings). Set it at the highest level that’s right, and override only the exceptions.
How do I make one date range control apply to every page?
Select the control and use Arrange → Make report-level. It then appears on every page in the same position, and the reader’s selection carries across pages.
My report-level control has disappeared on one page. Where is it?
Probably behind a chart: by default, report-level components sit behind the rest of the page. Set Theme and layout › Layout › Report-level component position to Top.
Can viewers change the comparison period?
No. Only editors can set or change a comparison date range. Viewers can change the timeframe with a date range control, but not what it’s compared against.
Which charts can show a comparison date range?
Google’s chart references list time series, tables, scorecards, line and combo, scatter, gauge and bullet charts. On a scorecard, Comparison type has to be Period first.
How do I build a rolling range like “last 90 days ending yesterday”?
Use the advanced date range option. Set the start to Today minus 90 days and the end to Today minus 1 day. Ending at yesterday keeps today’s partial data out, which is usually what you want.
Why do two charts show different periods when the report first loads?
Both are probably set to Auto, and Auto means the connector’s default — which differs between connectors. The Analytics and Ads connectors default to the last 28 days while BigQuery and Sheets show the whole dataset. Set an explicit default instead.
Should I include today in the date range?
Usually not. Today is always a partial day, so it drags averages down and makes the latest point on every time series dip — which reads as a performance drop that isn’t real.
My date column isn’t working as a date. What’s wrong?
It’s coming through as text, or it isn’t a complete date. Data Studio needs a Date-typed field with year, month and day. Fix the field type in the data source and every report using that source is fixed too.
Can I have two date range controls on the same page?
Yes, but they’ll both apply to the same charts unless you scope them by grouping each control with the charts it should affect. Two unscoped controls on one page will fight each other.

