← Back to postsHow Do You Show Percentage Change in Tableau?

How Do You Show Percentage Change in Tableau?

Carlos GarciaCarlos Garcia9/29/2026

Almost every dashboard question eventually turns into the same question: compared to what? Revenue of 412,000 means nothing on its own. Revenue of 412,000, up 14% on last quarter, is a story. Tableau knows this, which is why it ships percentage change as a built-in calculation rather than making you write one.

The problem is that percentage change in Tableau is a table calculation, and table calculations behave differently from the calculated fields most people learn first. They do not run against your underlying data. They run against the numbers already laid out in your view, which means the same calculation can return completely different answers depending on how your rows and columns are arranged.

That single fact explains almost every confused forum post about Tableau percent change. Once you understand it, the feature becomes one of the fastest wins in the whole tool.

This guide covers the two-click method, how to control exactly what Tableau compares each value against, how to write the calculation by hand when the built-in version is not flexible enough, and the specific mistakes that produce nonsense percentages.

The Short Answer

To show percentage change in Tableau: build a view with your measure and a dimension that orders your data (usually a date), right-click the measure pill, choose Quick Table Calculation, and select Percent Difference From.

By default Tableau compares each value to the previous one and expresses the gap as a percentage. If the comparison direction is wrong, right-click the pill again, choose Edit Table Calculation, and adjust Compute Using and Relative to.

That is the whole feature. Everything below is about making it return the number you actually meant.

Not sure whether your reporting stack is telling you the truth? Get a free audit and find out what your data is really saying.

What Percentage Change Actually Means in Tableau

Tableau ships eight quick table calculations: Running Total, Difference From, Percent Difference From, Percent From, Percent of Total, Rank, Percentile, and Moving Calculation. Two of them look almost identical and are constantly confused.

Difference From vs Percent Difference From

Difference From returns the raw gap between the current value and a reference value. If January sales were 100,000 and February were 80,000, Difference From returns -20,000.

Percent Difference From returns that same gap expressed as a percentage of the reference value. In the same example it returns -20%.

Percent Difference From is the one you want when someone asks for "percentage change", "percent growth", "period over period", or "change vs last year". Difference From is the one you want when the absolute size of the movement matters more than its proportion.

Percent From is a different thing entirely

Percent From expresses the current value *as* a percentage of the reference value, not as a change from it. February at 80,000 against a January of 100,000 returns 80%, not -20%. Both are legitimate numbers, and shipping the wrong one to an executive dashboard is a genuinely embarrassing mistake.

The rule of thumb: Percent Difference answers "how much did it move?" Percent From answers "how big is it relative to that?"

Why it is a table calculation, not a regular calculated field

A normal calculated field runs at the data source level. It can see every row of your data whether or not that row appears in your view.

A table calculation runs after aggregation, on the result set already in the view. It can only see what is in the table on your screen. This is a feature, not a bug, because percentage change is inherently positional. "Change from previous" is meaningless until you know what order things are in, and the order lives in your view, not your database.

The practical consequence: filtering changes your percentages. If you filter out January, February's change is calculated against whatever is now first. If you want a comparison against a period you have excluded from the view, a table calculation is the wrong tool and you need a level-of-detail expression or a custom calculation instead.

How to Show Percentage Change Step by Step

Here is the full workflow using a date dimension, which covers most real reporting cases.

  1. Drag your date field to Columns and set the granularity you want (Year, Quarter, Month). Use the continuous or discrete version depending on whether you want a connected axis or separate headers.
  2. Drag your measure to Rows. Confirm the aggregation is what you expect, usually SUM.
  3. Confirm the view is sorted correctly. Table calculations respect the order shown on screen, so a scrambled sort produces scrambled percentages.
  4. Right-click the measure pill on Rows and choose Quick Table Calculation.
  5. Select Percent Difference From. Tableau adds a small triangle icon to the pill indicating a table calculation is applied.
  6. Check the first value. It should be blank or null, because there is nothing before it to compare against. If it is not blank, your comparison direction is probably wrong.
  7. Right-click the pill and choose Format to set decimal places and add a percent sign if Tableau has not already.

If you want to keep both the raw number and the percentage change on the same view, drag the measure onto Rows a second time and apply the table calculation only to the duplicate. This is how most period-over-period tables get built.

How to Control What Tableau Compares Against

This is where the feature stops being two clicks and starts being a skill. Right-click the pill and choose Edit Table Calculation to open the two settings that matter.

Relative to sets the reference point:

  • Previous (the default) compares each value to the one immediately before it. This is standard period-over-period change.
  • Next compares each value to the one after it, which flips the sign of every result.
  • First compares everything to the first value in the partition. Use this for indexed growth from a baseline.
  • Last compares everything to the final value.

Compute Using sets the direction the calculation travels and, by extension, where each partition starts and stops:

  • Table (across) runs left to right across the entire table.
  • Table (down) runs top to bottom.
  • Pane (across) or Pane (down) restarts the calculation inside each pane, which is what you want when you have a second dimension creating groups and you need each group compared only against itself.
  • Specific Dimensions gives you a checklist so you can say exactly which fields the calculation addresses and which it partitions by.

The mental model that helps: imagine the table on your screen printed on paper. Compute Using tells Tableau which way to read it. Relative to tells Tableau which cell to compare each one against as it reads.

Reporting on numbers you cannot fully explain is a risk, not an insight. Get a free audit and get clarity on your measurement setup.

Writing Percentage Change as a Custom Calculation

The quick table calculation covers most needs, but sometimes you want the percentage change as a reusable field you can reference elsewhere, or you need to handle division by zero gracefully. In that case, write it yourself.

The building block is LOOKUP, which fetches a value from a different position in the partition:

`(SUM([Sales]) - LOOKUP(SUM([Sales]), -1)) / ABS(LOOKUP(SUM([Sales]), -1))`

The `-1` offset means "one position back". Dividing by ABS of the previous value rather than the raw value keeps the sign of the change correct when the baseline is negative, which is a subtlety the built-in calculation handles quietly and hand-written versions often get wrong.

If your data has zeros in the baseline, wrap the denominator to avoid a divide-by-zero. A common pattern uses ZN and an IIF check so that a zero baseline returns null rather than infinity.

Writing it manually also lets you compare to a non-adjacent period. An offset of `-12` on monthly data gives you year-over-year change instead of month-over-month, which is frequently what stakeholders actually mean when they say "percentage change".

When to Use Percentage Change and When Not To

Percentage change is the right choice when the size of the movement matters relative to the baseline, when you are comparing series of very different magnitudes, and when the audience thinks in growth terms.

It is the wrong choice in several common situations.

When the baseline is tiny. Going from 2 sign-ups to 6 is a 200% increase and is almost certainly noise. Percentage change amplifies small numbers into headlines. Always show the absolute values alongside the percentages so the reader can judge for themselves.

When the baseline crosses zero. Percentage change from a negative number to a positive one is mathematically defined but practically meaningless to most readers. Use absolute difference for profit and loss figures that move through zero.

When the periods are not comparable. A month-over-month comparison of a seasonal business tells you about the calendar, not the business. Year-over-year is usually the honest comparison for anything with seasonality.

When you need a comparison to filtered-out data. As covered above, table calculations only see the view. Use level-of-detail expressions or a data-source-level calculation instead.

Limitations and Common Problems

The first row is blank. This is correct behaviour, not a bug. With Relative to set to Previous, the first value has no predecessor. If a blank cell breaks your layout, either accept it or switch to Relative to First.

The percentages change when you add a filter. Expected, for the reasons described earlier. If you need stable percentages, move the logic out of a table calculation.

Sorting breaks everything. Sorting a view by a table calculation while that calculation depends on the view order creates circular behaviour and unstable results. Sort by the underlying measure or by the dimension instead.

Totals look wrong. Grand totals on table calculations are computed on the totals row, not as a sum of the individual percentages, and percentages do not add up anyway. Tableau lets you change how totals are computed, but in most cases the honest answer is to hide the total row for a percentage column.

Nulls in the middle of a series. A missing month does not stop the calculation; it just compares the next present value to the previous present value, silently spanning the gap. If your data has holes, densify the date axis or the percentages will quietly mislead.

Half of reporting problems are measurement problems, not dashboard problems. Get a free audit to see where yours are coming from.

Tableau vs Excel, Power BI and Google Sheets

Every major analytics tool solves percentage change, and the differences are mostly about where the logic lives.

Excel and Google Sheets put the logic in the cell. You write `=(B3-B2)/B2` and copy it down. It is transparent and easy to audit, and it breaks the moment someone inserts a row or the data refreshes with a different shape. Fine for a one-off analysis, fragile as a recurring report.

Power BI puts the logic in DAX, usually with a time-intelligence function like SAMEPERIODLASTYEAR combined with DIVIDE. This is more robust than a spreadsheet formula because it is tied to a date table rather than to cell positions, but it demands more upfront modelling and a properly marked date dimension.

Tableau sits between the two. The quick table calculation is faster to apply than a DAX measure and far more durable than a spreadsheet formula, but it is bound to the view rather than the model, which is the trade-off that trips people up.

None of them is objectively better. The question is whether your percentage change needs to be portable across many views, in which case model it, or whether it belongs to one chart, in which case a table calculation is the fastest correct answer.

Final Thoughts

Percentage change in Tableau is two clicks to apply and about twenty minutes to genuinely understand. The two clicks are Quick Table Calculation and Percent Difference From. The twenty minutes are spent internalising that the calculation reads your view rather than your data, and that Compute Using and Relative to are the controls that decide what it reads.

Get those two settings right and check the first row for a blank, and you will produce the right number nearly every time. Show absolute values next to the percentages and you will produce a number your audience can actually trust.

If you are still deciding where your dashboards should live before you worry about calculations, it is worth reading our breakdown of what Tableau Public is and who it suits, because the free and paid versions handle sharing very differently.

And if the harder question is not how to calculate the change but whether you are measuring the right things in the first place, that is a strategy problem rather than a Tableau problem.

Ready to find out whether your numbers are pointing you in the right direction? Get a free audit and we will show you what is working and what is not.