BI & Analytics
Blog
Tableau
5
min read

How to Create an Interactive Calendar in Tableau

Learn how to create an interactive calendar in Tableau in 4 steps using a date scaffold and Set Actions. Step-by-step tutorial with calculations.
Author
Lucas Reinhard
Lucas Reinhard
Analytics Engineer
How to Create an Interactive Calendar in Tableau
Share article

An interactive calendar in Tableau is a dashboard that shows a calendar grid where each date is clickable, and clicking a date filters a details panel underneath to show what happened on that day. You build it in 4 steps using a date scaffold (to handle missing dates), a calculated field (to colour-code each day), and a Set Action (to make the calendar clickable). This guide walks you through the full build using the Sample Superstore dataset.

What is an interactive calendar in Tableau?

An interactive calendar in Tableau is a worksheet laid out as a traditional monthly calendar grid, where each individual date is a clickable mark that filters or updates another part of the dashboard when selected. It is one of the most user-friendly ways to let stakeholders explore time-based data, because everyone already knows how to read a calendar.

creating an interactive calendar in Tableau

The example we will build highlights every day where an order was placed using a light blue circle, marks today's date in bold blue, and reveals a full table of order details when the user clicks a specific day. Late shipments appear in red, on-time shipments in blue.

Three Tableau features do most of the work:

  • A date scaffold to make sure every day of the month shows up, even days with no orders.
  • A calculated field to colour-code each day based on whether it has an order, is selected, or is today.
  • A Set Action to make clicking a date filter the order details table underneath.

Why use a date scaffold?

A date scaffold is a separate table that contains one row for every date you want to display, regardless of whether your main dataset has activity on that date. You join it to your data so that days with no orders still appear in the view as empty cells.

Without a scaffold, Tableau only renders marks where data exists. So if no orders were placed on a Tuesday, that Tuesday will be missing from your calendar entirely, leaving a gap in the grid. With a scaffold, every day of the month shows up, and you can clearly distinguish "no order placed" from "the date does not exist."

For a deeper look at the technique, the Tableau Prep scaffolding guide covers the underlying concept. For this tutorial, a simple Excel or Google Sheets scaffold is all you need.

How to build an interactive calendar in Tableau in 4 steps

This tutorial uses the Tableau Sample Superstore dataset, truncated to 22 July 2022 so we have a realistic period with no future orders. The final dashboard has two worksheets stacked vertically: the calendar on top, the order details table on the bottom.

Step 1: Build the data model with a date scaffold

The Superstore data covers 2019 to 2022, so we need a scaffold table that runs at least the same range. To future-proof the dashboard, we will run it from 01/01/2019 to 31/12/2023.

date scaffold to build an interactive calendar in Tableau

join scaffold table on the superstore data

  1. Create the scaffold. In Google Sheets or Excel, build a single-column table called Scaffold Date containing one row for every date in your target range.
  2. Join the scaffold to your Superstore data. In Tableau, add both data sources, then create a full outer join between Scaffold Date and Order Date. The full outer join is important here because it keeps every date from the scaffold (even ones with no matching orders) and every order from Superstore (even ones outside the scaffold range, as a safety net).

After the join, you should have a Scaffold Date field that contains every day in your range, with order data attached where it exists and nulls where it does not.

Step 2: Build the calendar worksheet

This is where the calendar grid takes shape.

  1. Drag Scaffold Date to Columns, then right-click the pill and change it to discrete WEEKDAY(Scaffold Date). This gives you Sun, Mon, Tue and so on across the top.
  2. Drag Scaffold Date to Rows and change it to discrete WEEK(Scaffold Date). This gives you the week numbers down the left side.
  3. Filter Scaffold Date to "This month" so the calendar always shows the current month.
  4. Drag Scaffold Date to the Text mark and set the alignment to Middle Center. This puts the day number inside each cell.
  5. Change the Marks Type from Automatic to Circle and shrink the circle size so the dates look like calendar bubbles rather than overlapping blobs.

Now for the interactive part. We want each bubble coloured based on four conditions:

  • Today's date (highlighted)
  • Selected dates (highlighted differently)
  • Dates with orders
  • Dates with no orders

First, create a set from the Scaffold Date field by right-clicking the field and choosing Create > Set. Name it Scaffold Date Set and leave it empty for now. The Set Action in Step 4 will populate it dynamically.

Drag both Scaffold Date and Scaffold Date Set onto the Detail mark.

Next, create this calculated field and drag it onto Colour:

Calendar Bubble Color

IF [Scaffold Date] = TODAY() THEN "Today"
ELSEIF [Scaffold Date Set] THEN "Selected"
ELSEIF NOT ISNULL([Order ID]) THEN "Order"
ELSE "No order"
END

Finally, clean up the formatting:

  • Hide field labels for rows and columns.
  • Hide row and column headers (right-click each pill and uncheck Show Header).
  • Change the date format of the column headers to Abbreviation.
  • Set the colours:
    • Order | Light blue | #ECF1FE
    • Today | Blue | #527AF6
    • Selected | Grey | #B3B7B8
    • No order | White | #FFFFFF

Your calendar worksheet is now complete and looks like a real calendar.

view of interactive calendar in Tableau

Step 3: Build the order details table

This is the panel that updates when a user clicks a date in the calendar.

Start by creating these five calculated fields:

build the orders details table

Now build the table:

  1. Drag Scaffold Date Set to the Filters shelf. This is what connects the table to the calendar selection.
  2. Drag these fields to Rows in this order: Order ID Duplicate, Order Date, Order ID, Customer ID, Last Name, Ship Date.
  3. Change the date format of Order Date and Ship Date to Exact Date, then make them Discrete.
  4. Drag Shipping Status to both Colour and Shape on the Marks card. For the shape, use a rounded rectangle custom shape (you can download one from Flaticon and add it to your Tableau Repository).
  5. Drag Shipping Delayed and Shipping On Time to Label. Align the text in the middle centre.
  6. Set the colours:
  • Delayed shape | Light red | #FDD8DA
  • Delayed text | Red | #F7646B
  • On Time shape | Light blue | #ECF1FE
  • On Time text | Blue | #3D71F5

For tips on making the final table look polished, see our guide on how to personalise your Tableau dashboards with custom titles.

Step 4: Combine them with a Set Action

Now we connect the two worksheets so the calendar drives the table.

  1. Create a new dashboard and set the size to 550 x 800 px.
  2. Drop two vertical layout containers onto the canvas, one above the other.
  3. Drag the calendar worksheet into the top container and the order details worksheet into the bottom container.
  4. Set up the Set Action. Go to Dashboard > Actions > Add Action > Change Set Values. Configure it like this:
  • Source sheet: the calendar worksheet
  • Target set: Scaffold Date Set
  • Run action on: Select
  • Clearing the selection will: Remove all values from set

final result of interactive calendar in tableau

That is it. Click a date in the calendar and the order table below will filter to show only the orders placed on that day. The selected bubble in the calendar will also change colour to grey, thanks to the Calendar Bubble Color calculation from Step 2.

For more on dashboard interactivity techniques like this one, see our guide to Tableau parameter actions.

Frequently Asked Questions

What is an interactive calendar in Tableau?

An interactive calendar in Tableau is a dashboard worksheet that displays a date grid (like a wall calendar) where each day is a clickable mark. Clicking a date triggers a Set Action that filters another worksheet on the dashboard, usually a details table, to show only the records related to that date.

What is a date scaffold and why do I need one for a Tableau calendar?

A date scaffold is a separate table containing one row for every date in your target range, joined to your main data using a full outer join. You need one because Tableau only renders marks where data exists, so days with no activity would otherwise disappear from your calendar grid. The scaffold guarantees every day shows up, even empty ones.

How do I make my Tableau calendar clickable?

Create a set from your date field, drag the set onto the Detail mark of the calendar worksheet, and then create a Set Action on the dashboard (Dashboard > Actions > Add Action > Change Set Values) that updates the set when a date is selected. Add the same set to the Filters shelf of any worksheet you want the calendar to control.

Why isn't my Set Action filtering the order table?

The most common cause is that the set is missing from the Filters shelf of the target worksheet. Also check that the Set Action's target set name matches exactly, that the action runs on Select, and that the source sheet in the action settings is your calendar worksheet.

Conclusion

An interactive calendar is one of the most natural ways to let users explore time-based data in Tableau, because it uses a layout everyone already understands. The combination of a date scaffold, a colour-coded calculated field, and a Set Action turns a static grid into a fully clickable filter for the rest of your dashboard.

Once you have built one, the same pattern works for any time-based dashboard: support tickets, marketing campaigns, sports fixtures, anything with a date and details to show.

If you want help building interactive dashboards like this one for your team, get in touch with the Biztory team and we will help you put it together.

Facts & figures

About client

Testimonial

Blogs you might also like

How to sheet swap in Tableau in just 5 steps
Arrow icon darkArrow icon dark

How to sheet swap in Tableau in just 5 steps

Learn how to sheet swap in Tableau in 5 steps. Dynamically show/hide worksheets using parameters, save dashboard space, and fix common issues.

BI & Analytics
Blog
Tableau
Tableau Custom Number Formatting
Arrow icon darkArrow icon dark

Tableau Custom Number Formatting

Master Tableau custom number formatting with copy-paste examples. Learn the syntax for positive, negative & zero values.

BI & Analytics
Blog
Tableau
Introducing Autom8: Automated workflows from within Tableau
Arrow icon darkArrow icon dark

Introducing Autom8: Automated workflows from within Tableau

Autom8 is here. Trigger workflows, sync data, and act on insights — all without ever leaving your dashboard.

BI & Analytics
Blog
Autom8
Tableau's order of operations
Arrow icon darkArrow icon dark

Tableau's order of operations

Learn more about Tableau's order of operations: or what happens when and how. Read the full blog here.

BI & Analytics
Blog
Tableau
Tableau Next features: the complete guide
Arrow icon darkArrow icon dark

Tableau Next features: the complete guide

Learn about the different features in Tableau Next and how they drive faster decision-making.

BI & Analytics
Blog
Tableau
5 Ways to Level Up Your Bar Chart Using Tableau Parameter Actions
Arrow icon darkArrow icon dark

5 Ways to Level Up Your Bar Chart Using Tableau Parameter Actions

Tableau Parameter Actions are a great feature in Tableau. Read all about it in our latest blog.

BI & Analytics
Blog
Tableau
Everything you need to know about Tableau Certifications
Arrow icon darkArrow icon dark

Everything you need to know about Tableau Certifications

Thinking of taking one of the Tableau Certifications? We explore how to get ready in our latest blog. Read all about it here.

BI & Analytics
Blog
Tableau
Personalise your Tableau Dashboard with Custom Titles
Arrow icon darkArrow icon dark

Personalise your Tableau Dashboard with Custom Titles

Learn about how to add the personal touch to your Tableau Dashboard with custom titles.

BI & Analytics
Blog
Tableau
Bar Charts: The Good, the Bad, and the Ugly
Arrow icon darkArrow icon dark

Bar Charts: The Good, the Bad, and the Ugly

Why can bar charts be effective and how to use them to get answers easier, and faster!

BI & Analytics
Blog
Tableau
How to create a waterfall chart in Tableau
Arrow icon darkArrow icon dark

How to create a waterfall chart in Tableau

Learn how to create your own waterfall charts in Tableau Desktop by following these steps.

BI & Analytics
Blog
Tableau
The Ultimate Guide to Embedded Analytics
Arrow icon darkArrow icon dark

The Ultimate Guide to Embedded Analytics

Discover what embedded analytics is all about and how it can drive additional revenue streams for your business.

BI & Analytics
Blog
ThoughtSpot
How to label pie charts in Tableau
Arrow icon darkArrow icon dark

How to label pie charts in Tableau

Learn more on how to label pie charts in Tableau like a pro.

BI & Analytics
Blog
Tableau
How to label bar charts in Tableau
Arrow icon darkArrow icon dark

How to label bar charts in Tableau

Learn how to label bar charts in Tableau like a pro and level up your dashboard design. Read the full article here.

BI & Analytics
Blog
Tableau
How to create a donut chart in Tableau
Arrow icon darkArrow icon dark

How to create a donut chart in Tableau

Looking to create a donut chart in Tableau? Read our in-depth guide on how to level up your donut charts in Tableau here.

BI & Analytics
Blog
Tableau
How to ace your ThoughtSpot certifications?
Arrow icon darkArrow icon dark

How to ace your ThoughtSpot certifications?

Learn more about ThoughtSpot certifications and how to ace your exams.

BI & Analytics
Blog
ThoughtSpot
How to stop marks being highlighted when ‘clicked’ in Tableau
Arrow icon darkArrow icon dark

How to stop marks being highlighted when ‘clicked’ in Tableau

Learn how to stop marks from being highlighted when clicked in Tableau.

BI & Analytics
Blog
Tableau
How to Create Multiple Select Parameters in Tableau
Arrow icon darkArrow icon dark

How to Create Multiple Select Parameters in Tableau

Learn how to create multiple select parameters in Tableau to add more control and interactivity to your analysis.

BI & Analytics
Blog
Tableau
How to apply conditional formatting to tooltips in Tableau
Arrow icon darkArrow icon dark

How to apply conditional formatting to tooltips in Tableau

Learn how to apply conditional formatting to tooltips in Tableau with our step-by-step guide. Improve your data visualization skills today with Biztory.

BI & Analytics
Blog
Tableau
Rediscovering Business Intelligence with Sigma Computing
Arrow icon darkArrow icon dark

Rediscovering Business Intelligence with Sigma Computing

Discover how Sigma Computing is reshaping the BI landscape with its user-friendly interface and powerful capabilities.

BI & Analytics
Blog
Sigma
Sigma Computing: Our Favourite Features
Arrow icon darkArrow icon dark

Sigma Computing: Our Favourite Features

Discover our favourite features of Sigma for powerful and fun data analysis.

BI & Analytics
Blog
Sigma
Tableau vs. Power BI: Everything to know
Arrow icon darkArrow icon dark

Tableau vs. Power BI: Everything to know

Compare Tableau and Power BI to determine the best business intelligence tool for your needs.

BI & Analytics
Blog
Tableau
Tableau Map Layers: Getting Started (1/3)
Arrow icon darkArrow icon dark

Tableau Map Layers: Getting Started (1/3)

Learn how to leverage Tableau's Map Layers feature to create complex visualizations.

BI & Analytics
Blog
Tableau
Tableau Map Layers: Pull everything into one view (3/3)
Arrow icon darkArrow icon dark

Tableau Map Layers: Pull everything into one view (3/3)

Use Tableau Map Layers to combine multiple visuals in a single worksheet and create custom dashboard views for enhanced data visualization.

BI & Analytics
Blog
Tableau
Tableau Map Layers: Building Different Charts (2/3)
Arrow icon darkArrow icon dark

Tableau Map Layers: Building Different Charts (2/3)

Learn how to create Pie, Doughnut, Line, and Area charts using Tableau Map Layers.

BI & Analytics
Blog
Tableau