Bird
Raised Fist0
Tableaubi_tool~5 mins

Dynamic measure swap in Tableau - Step-by-Step Guide

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Dynamic measure swap lets you change which measure shows in a chart without making new charts. This helps when you want to compare different numbers in the same view easily.
When your sales dashboard needs to show either revenue or profit based on user choice
When you want to let users pick which metric to analyze without cluttering the view
When you have limited space but want to show multiple measures interactively
When you want to create a single chart that can display different KPIs on demand
When you want to avoid duplicating worksheets for each measure
Steps
Step 1: Create a parameter
- Data pane → right-click → Create Parameter
A new parameter dialog opens
💡 Name it clearly, like 'Select Measure'
Step 2: Set parameter data type and allowable values
- Create Parameter dialog
Parameter options are ready for user selection
💡 Use String type and List of values like 'Sales', 'Profit', 'Quantity'
Step 3: Create a calculated field to swap measures
- Data pane → right-click → Create Calculated Field
Calculated field dialog opens
💡 Name it 'Dynamic Measure'
Step 4: Enter calculation using CASE or IF statement
- Calculated Field dialog
Calculation returns selected measure value
💡 Example: CASE [Select Measure] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit' THEN SUM([Profit]) ELSE SUM([Quantity]) END
Step 5: Replace existing measure on Rows or Columns shelf with the new calculated field
- Worksheet view
Chart updates to show the measure chosen by the parameter
Step 6: Show parameter control
- Right-click parameter in Data pane → Show Parameter Control
Parameter dropdown appears on the worksheet for user interaction
Before vs After
Before
Worksheet shows a bar chart with SUM(Sales) only
After
Worksheet shows a bar chart that changes between SUM(Sales), SUM(Profit), or SUM(Quantity) based on user selection from parameter dropdown
Settings Reference
Parameter Data Type
📍 Create Parameter dialog
Defines the type of values the parameter can hold
Default: String
Allowable Values
📍 Create Parameter dialog
Controls what values users can select in the parameter
Default: List
Calculated Field Formula
📍 Calculated Field dialog
Defines how the selected parameter value maps to measures
Default: CASE
Common Mistakes
Not showing the parameter control after creating it
Users cannot change the measure without the control visible
Right-click the parameter and select 'Show Parameter Control' to make it interactive
Using the original measure instead of the calculated field in the view
The chart will not update dynamically because it still uses a fixed measure
Replace the measure on Rows or Columns shelf with the dynamic calculated field
Parameter values do not exactly match the CASE statement strings
The calculation will not return the correct measure values
Ensure parameter list values exactly match the text in the CASE or IF statement
Summary
Dynamic measure swap lets users pick which measure to display in one chart using a parameter.
Create a parameter with measure names and a calculated field that returns the chosen measure.
Remember to replace the measure in the view with the calculated field and show the parameter control.

Practice

(1/5)
1.

What is the main purpose of using a dynamic measure swap in Tableau dashboards?

easy
A. To create multiple charts for each measure
B. To automatically refresh data sources
C. To let users choose which measure to display on a single chart
D. To filter data based on user location

Solution

  1. Step 1: Understand dynamic measure swap concept

    Dynamic measure swap allows users to select which measure they want to see on one chart instead of showing all measures separately.
  2. Step 2: Identify the main benefit

    This makes dashboards interactive and saves space by avoiding multiple charts for each measure.
  3. Final Answer:

    To let users choose which measure to display on a single chart -> Option C
  4. Quick Check:

    Dynamic measure swap = user chooses measure [OK]
Hint: Dynamic measure swap means user picks measure shown [OK]
Common Mistakes:
  • Thinking it creates multiple charts instead of one
  • Confusing it with data refresh or filtering
  • Assuming it changes data source connections
2.

Which Tableau feature is essential to create a dynamic measure swap?

Choose the correct syntax to define it.

CASE [Parameter]
  WHEN 'Sales' THEN SUM([Sales])
  WHEN 'Profit' THEN SUM([Profit])
END
easy
A. Parameter with CASE statement to switch measures
B. Calculated field with IF statement only
C. Filter using fixed date range
D. Dashboard action to highlight marks

Solution

  1. Step 1: Identify the syntax used

    The code uses a CASE statement with a parameter to choose between measures like Sales and Profit.
  2. Step 2: Match feature to syntax

    This is the standard way in Tableau to create dynamic measure swap by switching measures based on parameter value.
  3. Final Answer:

    Parameter with CASE statement to switch measures -> Option A
  4. Quick Check:

    CASE + Parameter = dynamic measure swap [OK]
Hint: Dynamic swap needs parameter plus CASE statement [OK]
Common Mistakes:
  • Using IF without parameter for swapping
  • Confusing filters or dashboard actions with measure swap
  • Ignoring the need for a parameter
3.

Given the parameter [Select Measure] with values 'Sales' and 'Profit', and the calculated field:

CASE [Select Measure]
  WHEN 'Sales' THEN SUM([Sales])
  WHEN 'Profit' THEN SUM([Profit])
END

What will be the result if the parameter is set to 'Profit' and the total profit is 5000?

medium
A. 0
B. SUM([Sales])
C. Error due to missing ELSE
D. 5000

Solution

  1. Step 1: Understand parameter value effect

    The parameter is set to 'Profit', so the CASE statement returns SUM([Profit]).
  2. Step 2: Calculate output based on data

    Since total profit is 5000, the calculated field returns 5000.
  3. Final Answer:

    5000 -> Option D
  4. Quick Check:

    Parameter 'Profit' returns SUM([Profit]) = 5000 [OK]
Hint: Parameter value picks measure sum output [OK]
Common Mistakes:
  • Thinking missing ELSE causes error (it returns NULL instead)
  • Confusing measure names with values
  • Assuming default is zero without ELSE
4.

Identify the error in this dynamic measure swap calculated field:

CASE [Measure Selector]
  WHEN 'Sales' THEN SUM(Sales Amount)
  WHEN 'Profit' THEN SUM(Profit Margin)
END
medium
A. Missing square brackets around field names
B. Parameter name is incorrect
C. CASE statement syntax is invalid
D. SUM function cannot be used inside CASE

Solution

  1. Step 1: Check field name syntax

    In Tableau, field names must be enclosed in square brackets, e.g., [Sales Amount], [Profit Margin].
  2. Step 2: Identify error in code

    The code uses SUM(Sales Amount) and SUM(Profit Margin) without brackets, causing syntax error.
  3. Final Answer:

    Missing square brackets around field names -> Option A
  4. Quick Check:

    Field names need [ ] in SUM() [OK]
Hint: Always use [ ] around field names in calculations [OK]
Common Mistakes:
  • Omitting brackets around field names
  • Assuming CASE syntax is wrong
  • Thinking SUM can't be inside CASE
5.

You want to create a dashboard where users can switch between SUM([Sales]), AVG([Profit]), and COUNT([Orders]) using one parameter called [Measure Choice]. Which calculated field correctly implements this dynamic measure swap?

?
hard
A. CASE [Measure Choice] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit' THEN AVG([Profit]) ELSE 0 END
B. CASE [Measure Choice] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit' THEN AVG([Profit]) WHEN 'Orders' THEN COUNT([Orders]) END
C. SWITCH([Measure Choice], 'Sales', SUM([Sales]), 'Profit', AVG([Profit]), 'Orders', COUNT([Orders]))
D. IF [Measure Choice] = 'Sales' THEN SUM([Sales]) ELSEIF [Measure Choice] = 'Profit' THEN AVG([Profit]) ELSE 0 END

Solution

  1. Step 1: Check parameter values and measures

    The parameter has three values: 'Sales', 'Profit', and 'Orders'. Each must map to the correct aggregation.
  2. Step 2: Verify calculated field syntax

    CASE [Measure Choice] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit' THEN AVG([Profit]) WHEN 'Orders' THEN COUNT([Orders]) END uses CASE with explicit WHEN for all three values and correct aggregations, matching the parameter choices exactly.
  3. Final Answer:

    CASE [Measure Choice] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit' THEN AVG([Profit]) WHEN 'Orders' THEN COUNT([Orders]) END -> Option B
  4. Quick Check:

    CASE with all WHENs matches parameter values [OK]
Hint: Use CASE with all parameter options explicitly listed [OK]
Common Mistakes:
  • Using ELSE instead of explicit WHEN for all options
  • Using SWITCH which is not valid in Tableau
  • Mixing IF and CASE syntax incorrectly