pbPassingBI
/
Performance advanced 11 min

Making workbooks faster

Finding the real bottleneck before changing anything, then the fixes that matter.

What you'll be able to do
  • Use a performance recording to locate the bottleneck
  • Apply the highest-impact optimisations first
  • Explain why filter type affects query cost

Measure first

Help → Settings and Performance → Start Performance Recording, interact with the workbook, then stop. Tableau opens a workbook showing where time went: query execution, layout, rendering, or connection.

This matters because the intuitive fix is often the wrong one. If 90% of the time is query execution, restyling your dashboard changes nothing.

The big levers

Use an extract instead of a live connection to a slow source. Usually the single largest improvement.

Reduce the data. Filter at the data source, hide unused fields before extracting, and aggregate to the granularity you actually display. A view showing monthly totals doesn't need row-level transactions.

Reduce marks. A view with 200,000 marks is slow to render and unreadable anyway. Aggregate or filter.

Fewer sheets per dashboard. Every sheet is at least one query. Six sheets means six round trips.

Filters, in cost order

Not all filters cost the same.

Cheapest: filtering on a continuous date range, or a relative date. Then a dimension filter with a small selected list.

Expensive: Only Relevant Values on a quick filter, which requires an extra query per filter to work out which values remain valid. Condition and Top N filters are also costly because they require computing over the full set first.

Context filters build a temporary table — worth it when you need the ordering, wasteful otherwise.

Quick filters showing all values from a high-cardinality dimension are a common hidden cost; a parameter or a search-style filter is cheaper.

Calculations

Prefer numeric and boolean calculations over string ones — they're much faster to evaluate.

Use CASE rather than long IF/ELSEIF chains where you're matching one field against discrete values. Avoid nesting LODs unnecessarily; each one adds a query pass.

For a live connection, calculations that can be pushed to the database will be. Row-level calculations on an extract get materialised, which is fast. Table calculations run in Tableau on the result set, so they cost little at the query stage but can slow rendering on very wide result sets.

Key points
  • Record performance before optimising — the bottleneck is often not where you assume
  • Extract, reduce data, reduce marks, fewer sheets: the big four
  • Only Relevant Values and Top N filters are expensive; date range filters are cheap
Check yourself