Bird
Raised Fist0
Tableaubi_tool~15 mins

Dynamic measure swap in Tableau - Real Business Scenario

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
Scenario Mode
👤 Your Role: You are a sales analyst at a retail company.
📋 Request: Your manager wants a dashboard where users can choose which sales metric to view: Total Sales, Profit, or Quantity Sold. The dashboard should update dynamically based on the user's choice.
📊 Data: You have monthly sales data including Date, Region, Product Category, Total Sales, Profit, and Quantity Sold.
🎯 Deliverable: Create a Tableau dashboard with a parameter to select the measure and a chart that updates to show the selected measure by month.
Progress0 / 5 steps
Sample Data
DateRegionProduct CategoryTotal SalesProfitQuantity Sold
2024-01-01NorthElectronics100002500150
2024-01-01SouthFurniture80001200100
2024-02-01NorthElectronics120003000180
2024-02-01SouthFurniture7000100090
2024-03-01NorthElectronics150004000200
2024-03-01SouthFurniture90001500110
2024-04-01NorthElectronics130003500170
2024-04-01SouthFurniture85001300105
1
Step 1: Connect to the sales data source in Tableau and load the data.
No formula needed; just connect and import the data.
Expected Result
Data is loaded and visible in Tableau's Data pane.
2
Step 2: Create a parameter named 'Select Measure' with string data type and list of values: 'Total Sales', 'Profit', 'Quantity Sold'.
Parameter configuration: Name='Select Measure', Data type=String, Allowable values=List, Values=['Total Sales', 'Profit', 'Quantity Sold'], Current value='Total Sales'.
Expected Result
Parameter 'Select Measure' appears in the Data pane and can be used in calculations.
3
Step 3: Create a calculated field named 'Dynamic Measure' that returns the measure selected by the parameter.
IF [Select Measure] = 'Total Sales' THEN SUM([Total Sales]) ELSEIF [Select Measure] = 'Profit' THEN SUM([Profit]) ELSE SUM([Quantity Sold]) END
Expected Result
Calculated field 'Dynamic Measure' correctly computes the sum of the selected measure.
4
Step 4: Build a line chart with 'Date' on Columns and 'Dynamic Measure' on Rows.
Drag 'Date' to Columns shelf, drag 'Dynamic Measure' to Rows shelf, set 'Date' to continuous month.
Expected Result
Line chart shows the trend of the selected measure over months.
5
Step 5: Add the 'Select Measure' parameter control to the dashboard for user interaction.
Right-click 'Select Measure' parameter and choose 'Show Parameter Control'.
Expected Result
Parameter control appears on the dashboard allowing users to switch measures dynamically.
Final Result
Date       | Dynamic Measure (Selected)
----------------------------------------
2024-01   *  
2024-02    * *
2024-03     * * *
2024-04      * *

* = Value points on line chart

User selects measure from dropdown: Total Sales, Profit, or Quantity Sold
Chart updates accordingly.
✓Users can easily switch between Total Sales, Profit, and Quantity Sold to analyze trends.
✓The dynamic measure swap saves space and improves dashboard usability.
✓Monthly trends reveal sales and profit peaks in March.
Bonus Challenge

Add a second parameter to select Region and update the chart to show the selected measure for the chosen region only.

Show Hint
Create a 'Select Region' parameter with region names, then update the 'Dynamic Measure' calculated field to filter data by the selected region using an IF statement.

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