Bird
Raised Fist0
Tableaubi_tool~10 mins

Dynamic measure swap in Tableau - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a parameter that allows users to select a measure.

Tableau
CREATE PARAMETER MeasureSelector AS STRING DEFAULT '[1]' ALLOWABLE VALUES ('Sales', 'Profit', 'Quantity')
Drag options to blanks, or click blank then click option'
ASales
BProfit
CQuantity
DDiscount
Attempts:
3 left
💡 Hint
Common Mistakes
Using a default value not in the allowable values list.
Misspelling the measure names.
2fill in blank
medium

Complete the calculated field to swap measures dynamically based on the parameter.

Tableau
CASE [MeasureSelector] WHEN 'Sales' THEN SUM([[1]]) WHEN 'Profit' THEN SUM([Profit]) WHEN 'Quantity' THEN SUM([Quantity]) END
Drag options to blanks, or click blank then click option'
ASales
BProfit
CQuantity
DDiscount
Attempts:
3 left
💡 Hint
Common Mistakes
Using the parameter name inside SUM() instead of the field name.
Mismatching the parameter string and field names.
3fill in blank
hard

Fix the error in the calculated field to correctly handle the dynamic measure swap.

Tableau
IF [MeasureSelector] = 'Sales' THEN SUM([Sales]) ELSEIF [MeasureSelector] = [1] THEN SUM([Profit]) ELSE SUM([Quantity]) END
Drag options to blanks, or click blank then click option'
A'Quantity'
B'Profit'
C'Discount'
D'Sales'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a field name instead of a string in the condition.
Checking for the wrong measure name.
4fill in blank
hard

Fill both blanks to complete the calculated field that returns the selected measure's sum or zero if none matches.

Tableau
IF [MeasureSelector] = [1] THEN SUM([Sales]) ELSEIF [MeasureSelector] = [2] THEN SUM([Profit]) ELSE 0 END
Drag options to blanks, or click blank then click option'
A'Sales'
B'Profit'
C'Quantity'
D'Discount'
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the order of measure names.
Using field names instead of strings.
5fill in blank
hard

Fill all three blanks to create a dynamic measure swap that covers Sales, Profit, and Quantity with a default zero.

Tableau
CASE [MeasureSelector] WHEN [1] THEN SUM([Sales]) WHEN [2] THEN SUM([Profit]) WHEN [3] THEN SUM([Quantity]) ELSE 0 END
Drag options to blanks, or click blank then click option'
A'Sales'
B'Profit'
C'Quantity'
D'Discount'
Attempts:
3 left
💡 Hint
Common Mistakes
Using field names without quotes.
Missing the ELSE clause for default value.

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