7.3 Parameters, Parameter Actions & Dynamic What-If Analysis
Key Takeaways
- A Parameter is a global, workbook-level independent variable that can replace a constant value in calculations, filters, reference lines, and Top N set definitions.
- Parameters are completely inert on their own; they do not alter a visualization until explicitly wired into a calculated field, filter, or reference line.
- Parameters support six distinct data types: Float, Integer, String, Boolean, Date, and Date & Time, with allowable values configured as All, List, or Range.
- Dynamic Parameters automatically refresh their allowable value list or initial default value from a designated data source field whenever the workbook opens.
- Parameter Actions dynamically inject mark values into target parameters upon user interaction, enabling dynamic dimension/measure swapping via CASE calculations.
7.3 Parameters, Parameter Actions & Dynamic What-If Analysis
While filters restrict data rows and calculated fields manipulate values within columns, Parameters occupy a distinct architectural tier in Tableau: they are global, workbook-level independent variables. A parameter acts as an interactive constant that users can adjust to inject dynamic values into calculations, filters, reference lines, and SQL queries.
Parameters empower analysts to build flexible, interactive experiences—such as allowing executives to toggle between sales and profit, adjust a what-if sales growth slider from 0% to 25%, or dynamically choose how many top performers to view. For the Salesforce Certified Tableau Data Analyst, understanding parameter mechanics, allowable value constraints, Dynamic Parameters, and Parameter Actions is essential.
The Architecture of Parameters
Unlike dimensions and measures, which are bound to specific data source columns, parameters are data source agnostic. A single parameter created in a workbook can be referenced simultaneously across multiple distinct data sources, worksheets, calculations, and dashboard actions.
The Three Components of Parameter Implementation
A common exam question tests why a newly created parameter does not affect a worksheet. A parameter has zero operational effect on its own. Every parameter requires three coordinated steps:
Step 1: CREATE THE PARAMETER
- Define Name, Data Type (Float, String, etc.), and Allowable Values (All, List, Range).
|
v
Step 2: REFERENCE THE PARAMETER
- Wire the parameter into a Calculated Field, Top N Filter, or Reference Line.
|
v
Step 3: EXPOSE THE PARAMETER CONTROL
- Show the parameter control card on the worksheet or dashboard for user interaction.
If an analyst creates a parameter and displays the control card on a dashboard, changing the control does nothing until a calculation or filter references that parameter!
Supported Data Types
Tableau parameters support six distinct data types:
- Float (Decimal): Used for financial rates, percentages, multiplier factors (e.g., 0.05 for 5% tax).
- Integer: Used for Top N rankings, thresholds, bin sizing, and discrete counts.
- String: Used for menu pickers, dimension/measure swappers, and text-based branching.
- Boolean: Used for binary toggles (True/False, Show/Hide).
- Date: Used for threshold dates, historical cutoffs, and baseline comparisons.
- Date & Time: Used for high-precision timestamp event cutoffs.
Allowable Values Configurations
- All: Unrestricted entry. The user can type any valid value matching the data type into an open input box.
- List: A predefined enumeration of values. Authors can configure a Display As alias (e.g., Value:
1, Display As:Summary View; Value:2, Display As:Detailed View). - Range: Bounded numeric or date entry defined by Minimum, Maximum, and Step Size. In the user interface, ranges can render as an interactive Slider or a typed input box.
Dynamic Parameters: Refresh on Workbook Open
Historically, Tableau parameters were static: if an author populated a parameter list from [Category] or [Order Date], any new products or dates added to the database required manual editing of the parameter list. In Tableau 2020.1, Tableau introduced Dynamic Parameters.
Dynamic Parameter Configuration Dialog:
+-------------------------------------------------------------+
| Value when workbook opens: [ Max Date Calculation |v] |
| |
| Allowable values: ( ) All (*) List ( ) Range |
| List options: |
| (*) When workbook opens: [ Customer Region Field |v] |
+-------------------------------------------------------------+
Two Core Dynamic Behaviors
- Value When Workbook Opens: Instead of hardcoding the parameter's initial value, the author can bind it to a calculated field. For example, setting the default value to
{MAX([Order Date])}ensures that whenever an executive opens the workbook, the date parameter automatically defaults to the most recent date in the extract. - When Workbook Opens (List Refresh): Under Allowable Values > List, selecting 'When workbook opens' and choosing a data source field repopulates the allowable list from that field's current domain when the workbook opens. Test the current value and fallback behavior if a previously selected value is no longer present.
Dynamic Top N Filtering with Parameters
A classic parameter pattern is empowering end-users to dynamically adjust the number of top-performing dimension members displayed on a chart.
Implementation Workflow
- Create an Integer Parameter named
[Top N Selection]. Set Allowable Values to Range (Minimum: 5, Maximum: 50, Step size: 5). - Drag
[Customer Name]to the Filters shelf. - In the Filter dialog, navigate to the Top tab.
- Select By field -> choose
Top-> click the numeric dropdown and select[Top N Selection]-> bySUM([Sales]). - Expose the Parameter Control on the dashboard.
[!IMPORTANT] Order of Operations Reminder: Because this Top N filter evaluates in Step 4, remember that any secondary filters (such as
[Department]or[Region]) must be added to Context (Step 3) if the end-user expects to see the Top N customers within that specific department or region.
Dynamic Dimension and Measure Swapping
To prevent dashboard clutter and eliminate the need for sheet swapping across multiple views, analysts use parameters paired with CASE statements to allow users to switch which dimension or measure is rendered on an axis.
1. Dynamic Measure Selection
Create a String Parameter named [Select Measure] with List values: 'Sales', 'Profit', 'Profit Ratio', and 'Quantity'.
// Calculated Field: [Dynamic Measure Metric]
CASE [Select Measure]
WHEN 'Sales' THEN SUM([Sales])
WHEN 'Profit' THEN SUM([Profit])
WHEN 'Profit Ratio' THEN SUM([Profit]) / SUM([Sales])
WHEN 'Quantity' THEN SUM([Quantity])
END
Place [Dynamic Measure Metric] on Columns or Rows. When the user changes the parameter dropdown, the axis dynamically recalculates and re-renders.
[!WARNING] Critical Exam Rule: Calculation Data Type Consistency: In Tableau, every branch of a
CASEorIF-THENstatement must return the exact same data type and aggregation state. You cannot return a string in one branch (WHEN 'Region' THEN [Region]) and a numeric measure in another (WHEN 'Sales' THEN SUM([Sales])). Furthermore, all branches must be aggregated if any branch is aggregated.
2. Dynamic Dimension Selection
Create a String Parameter named [Select Dimension] with List values: 'Category', 'Region', 'Segment', and 'Ship Mode'.
// Calculated Field: [Dynamic Dimension Field]
CASE [Select Dimension]
WHEN 'Category' THEN [Category]
WHEN 'Region' THEN [Region]
WHEN 'Segment' THEN [Segment]
WHEN 'Ship Mode' THEN [Ship Mode]
END
Place [Dynamic Dimension Field] on the Rows shelf. The table's visual headers now change dynamically based on user selection.
Parameter Actions on Dashboards
Parameter Actions eliminate the disconnect between the canvas and control widgets. Instead of forcing users to locate a dropdown menu in a corner container, a Parameter Action allows clicking a mark on a chart to update a parameter's value directly.
Configuration Options
Under Dashboard > Actions > Add Action > Change Parameter, the author configures:
- Source Sheets: Worksheet where the click or hover occurs.
- Run Action On: Hover, Select, or Menu.
- Target Parameter: The parameter to update.
- Source Field: The specific dimension or measure from the selected mark whose value will be injected into the target parameter.
- Aggregation: When passing a measure, specifies the aggregation type (SUM, AVG, MIN, MAX).
- Clearing the Selection Will: Specifies behavior when deselecting: Keep current value or Set value to (a designated default).
Practical Use Case: Interactive Baseline Comparison
An analyst creates an interactive timeline of stock prices. When the user clicks any date mark on the timeline, a Parameter Action injects that date into [Baseline Date Parameter]. A calculated field computes the percentage change of all other dates relative to that selected baseline date: (SUM([Price]) - AVG([Baseline Price])) / AVG([Baseline Price]). The entire dashboard immediately recalibrates to show performance relative to the clicked event.
What-If Sensitivity and Scenario Analysis
Parameters are the foundation of what-if sensitivity modeling. Analysts can simulate business outcomes without modifying underlying database records.
// Calculated Field: [Projected Revenue]
SUM([Sales]) * (1 + [Annual Growth Rate Parameter])
// Calculated Field: [Net Profit Under Revised Tariff]
SUM([Revenue]) - (SUM([Cost of Goods Sold]) * (1 + [Tariff Increase Parameter]))
By exposing floating slider controls for growth rates, tax rates, or pricing elasticity, stakeholders can run real-time stress tests directly on the dashboard.
Comparison Matrix: Parameters vs. Quick Filters vs. Sets
| Feature | Parameter | Quick Filter | Set |
|---|---|---|---|
| Scope | Global: Workbook-wide, data source independent | Local / Scoped: Sheet, selected sheets, or data source | Data Source Bound: Bound to a single dimension |
| Selection Mode | Single-Value Only: Cannot select multiple values | Multi-Value or Single: Checkboxes, dropdowns, lists | Binary Membership: Records are either IN or OUT |
| Formula Input | Serves as an input variable inside calculated fields | Cannot be referenced inside calculation syntax | Can evaluate dynamic formulas in Condition tab |
| Data Types | Float, Integer, String, Boolean, Date, Date/Time | Bound to the data type of the filtered field | Boolean (IN / OUT) |
| Action Support | Yes: Parameter Actions (Hover, Select, Menu) | Yes: Filter Actions | Yes: Set Actions |
| Dynamic Refresh | Yes: Refreshes list or value on workbook open | Yes: Native automatic query execution | Yes: Dynamically evaluated in Step 4 |
Practical Pitfalls and Scenarios
- Parameters are single-valued: A standard parameter cannot hold multiple non-contiguous regions simultaneously. Use a multi-value filter, set control, or set action when multi-selection is required.
- An exposed control can still be inert: If changing the control does nothing, first confirm that the parameter is referenced by the worksheet's calculation, filter, reference line, or other supported feature. Also inspect action targeting and field logic before concluding that the parameter itself is defective.
- CASE return types must be compatible: Mixing string outputs with numeric outputs, or incompatible aggregate and row-level branches, produces calculation errors.
An analyst creates an integer parameter named 'Top N Products', configures allowable values as a range from 5 to 50, and exposes the parameter control card on a dashboard. When the analyst moves the slider from 10 to 25, the product bar chart does not update and continues showing all products. What is the cause of this issue?
A developer authors a calculated field to enable dynamic metric swapping: CASE [Metric Parameter] WHEN 'Sales' THEN SUM([Sales]) WHEN 'Profit Ratio' THEN [Profit Ratio] END, where [Profit Ratio] is a pre-existing calculated field defined as SUM([Profit]) / SUM([Sales]). When attempting to add a third option: WHEN 'Top Customer' THEN ATTR([Customer Name]), Tableau marks the formula invalid with a syntax error. What is the root cause?
An executive requests the ability to select multiple geographic regions simultaneously (e.g., Central and West) from a single control widget to dynamically compare aggregate metrics across those chosen regions. Why is a standard Tableau Parameter unsuitable for fulfilling this request?