Bird
Raised Fist0
Tableaubi_tool~10 mins

Dynamic measure swap in Tableau - Cell-by-Cell Formula Trace

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
Sample Data

This data shows products with their Sales and Profit values. Cell D2 holds the user's choice of measure to display dynamically.

CellValue
A1Product
B1Sales
C1Profit
A2Apples
B21000
C2200
A3Bananas
B31500
C3300
A4Cherries
B41200
C4250
D1Selected Measure
D2Sales
Formula Trace
IF [Selected Measure] = 'Sales' THEN SUM([Sales]) ELSE SUM([Profit]) END
Step 1: [Selected Measure]
Step 2: [Selected Measure] = 'Sales'
Step 3: SUM([Sales])
Step 4: IF TRUE THEN 3700 ELSE SUM([Profit]) END
Cell Reference Map
     A       B       C       D
1 |Product| Sales | Profit|Selected Measure|
2 |Apples | 1000  |  200  |    Sales     |
3 |Bananas| 1500  |  300  |              |
4 |Cherries|1200  |  250  |              |
The formula uses the value in cell D2 to decide which measure to sum: Sales (column B) or Profit (column C).
Result
     A       B       C       D       E
1 |Product| Sales | Profit|Selected Measure|Result|
2 |Apples | 1000  |  200  |    Sales     | 3700 |
3 |Bananas| 1500  |  300  |              |      |
4 |Cherries|1200  |  250  |              |      |
The result cell E2 shows 3700, the sum of Sales, because the selected measure is 'Sales'.
Sheet Trace Quiz - 3 Questions
Test your understanding
What does the formula return if the Selected Measure is 'Profit'?
ASum of Sales
BSum of Profit
CZero
DError
Key Result
IF [Selected Measure] = 'Sales' THEN SUM([Sales]) ELSE SUM([Profit]) END

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