How to Show Year over Year Growth in Tableau

Cody Schneider7 min read

Calculating year-over-year (YoY) growth in Tableau is one of the most fundamental skills for analyzing how your business is truly performing. This straightforward guide will show you exactly how to do it using two different methods, starting with the simplest approach and then moving to the more flexible one for custom dashboards.

Why Track Year-over-Year Growth?

Before getting into the steps, let's quickly clarify why YoY growth is such a vital metric for teams in marketing, sales, and e-commerce. It helps you cut through the noise of seasonality. For example, a retailer will almost always have a massive sales spike in December. Comparing December to November isn't very helpful, it's expected. Comparing this December to last December, however, tells you if you're actually growing.

YoY growth helps you:

  • Identify long-term trends by comparing apples to apples (e.g., this summer vs. last summer).
  • Measure the real impact of your strategic efforts, like a new ad campaign or website redesign.
  • Provide context to stakeholders who want to know more than just a single month's numbers.

Getting Your Data Ready

To follow along, all you need is a dataset that contains two key things:

  1. A date field (like Order Date, Sign Up Date, or Session Date).
  2. A measure you want to analyze (like Sales, Revenue, or Number of Users).

To calculate YoY growth, you obviously need at least two years' worth of data. Once your data is connected, you can start building.

Method 1: The Quickest Way with Table Calculations

The fastest way to show year-over-year growth is with Tableau's built-in Quick Table Calculations. You can do this in under a minute without writing a single line of code.

Let's use a sample of Sales data to illustrate.

Step 1: Create a Basic Time-Series Chart

Start by creating a simple line chart that shows your sales over time. This gives you a baseline view of your historical performance.

  • Drag your date field (e.g., Order Date) to the Columns shelf. Right-click it and make sure you select "Month" that is continuous (the one with the green calendar icon). This will format your X-axis nicely.
  • Drag your measure (e.g., Sales) to the Rows shelf. Tableau will automatically choose SUM(Sales).

You should now see a line chart showing your monthly sales over time.

Step 2: Add the Year-over-Year Growth Calculation

Now, let's add the YoY calculation directly onto this chart.

  • Drag your measure (Sales) to the Rows shelf a second time. You'll now have two identical line charts, one on top of the other.
  • On the newly added SUM(Sales) pill in the Rows shelf, right-click it, go to Quick Table Calculation, and select Year Over Year Growth.

Tableau instantly performs the calculation: (This_Year - Last_Year) / Last_Year. The second chart will now transform to show the percentage growth for each month compared to the same month in the prior year.

Step 3: Combine and Visualize as a Dual-Axis Chart

Having two separate charts isn't ideal for analysis. A dual-axis chart is a much better way to display the relationship between your actual sales numbers and their growth rate.

  • On the second SUM(Sales) pill (the one with the YoY calculation), right-click again and select Dual Axis.
  • Tableau will overlay the two charts. You'll now have two Y-axes, one on the left for Sales and one on the right for YoY Growth.
  • To make it easier to read, click the dropdown for the SUM(Sales) pill with the YoY calculation on the Marks card and change the chart type from Automatic (or Line) to Bar.
  • If the axes are not aligned, right-click the right-side axis and select Synchronize Axis.

You now have a powerful visualization that shows your monthly sales performance as a line and the corresponding YoY growth rate as bars for each month. This view makes it easy to see, for example, that even if May had lower sales than April, it still grew 25% compared to last May.

Method 2: A More Flexible Way with Calculated Fields

The table calculation method is fantastic for quick analysis, but it has a limitation: it depends entirely on the structure of your chart. If you remove the Month pill or rearrange your visualization, the calculation can break. Creating your own dedicated calculated field solves this problem, giving you a reusable measure you can drop into any table, chart, or dashboard.

Step 1: Calculate Previous Year's Sales

The key to calculating YoY growth manually is getting the data for the previous year into the same row as the data for the current year. The easiest way to do this is with the LOOKUP() function.

First, let's create a calculated field that pulls the sales data from 12 months prior.

  • Go to Analysis > Create Calculated Field.
  • Name your field "Sales (Previous Year)".
  • Enter the following formula:
LOOKUP(SUM([Sales]), -12)

This formula tells Tableau: "For whatever SUM(Sales) is in the current position, look back 12 marks (in our case, 12 months) and give me that value." Click OK.

Step 2: Create the Main YoY Growth Calculation

Now that you have this year's sales (SUM([Sales])) and last year's sales ([Sales (Previous Year)]), you can combine them to get the growth rate.

  • Create another new calculated field. Name it "YoY Sales Growth %".
  • Enter the standard growth formula:
(SUM([Sales]) - [Sales (Previous Year)]) / [Sales (Previous Year)]

To make the formula a bit cleaner and handle potential nulls for the first year of data, you can wrap some parts of it in the ZN() function, which turns nulls into zeros. The final, robust formula looks like this:

(ZN(SUM([Sales])) - ZN(LOOKUP(SUM([Sales]), -12))) / ZN(LOOKUP(SUM([Sales]), -12))
  • Click OK. You'll see your two new calculated fields in the Measures pane.

Step 3: Use Your New Calculated Field

The great thing about this new "YoY Sales Growth %" field is that you can use it just like any other measure. You can now recreate the dual-axis chart by dragging your calculated field to the Rows shelf instead of using the Quick Table Calculation. Or you can use it for other visualizations.

Advanced Ways to Visualize YoY Growth

Once you have a YoY growth calculation, you can use it in more than just a dual-axis chart.

KPI Dashboards with BANs

A "BAN" (Big Ass Number) is perfect for executive dashboards. To show only the YoY growth for the very last month, you can filter your view to show just the latest date.

  • Create your "YoY Sales Growth %" calculated field.
  • Create another calculated field named "Last Month Filter" with the formula: LAST()=0
  • Add "Month(Order Date)" to your view as before.
  • Add "YoY Sales Growth %" to the Text mark.
  • Drag the "Last Month Filter" to the Filters shelf and select "True". Your view will now only show the YoY growth for the last available month.

Highlight Tables

You can create a table showing your monthly sales figures and then use your YoY growth metric for color-coding. This creates an intuitive heat map where dark green cells represent high growth months and red cells show months with negative growth, making trends instantly visible. To do this:

  • Create a view with Year of Order Date on Columns and Month of Order Date on Rows.
  • Drag Sales to the Text mark.
  • Drag your "YoY Sales Growth %" calculation to the color mark.
  • Change the mark type to Square to create a clear heatmap effect.

Final Thoughts

Mastering YoY growth calculations in Tableau, whether through a quick table calculation or a custom formula, is essential for demonstrating real business trends and moving beyond surface-level reporting. Either method can quickly transform a simple dataset into an actionable visualization that informs strategy.

For teams still mired in downloading CSVs and building reports manually, these Tableau features are a huge step up. However, the learning curve is still time-consuming. We built Graphed for teams that need fast, clear answers without becoming Tableau experts. Instead of building calculated fields, you can just ask a question like, "Show me my year-over-year revenue growth from Shopify as a bar chart" and have our AI build the dashboard in seconds, connected directly to your live data.

Related Articles

How to Connect Facebook to Google Data Studio: The Complete Guide for 2026

Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.

Appsflyer vs Mixpanel​: Complete 2026 Comparison Guide

The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.