Can You Select Multiple Parameters in Tableau?

Cody Schneider9 min read

One of the most common questions from Tableau users is whether you can select multiple values in a single parameter. The short answer is no, not directly. Tableau parameters are designed to hold only one value at a time, a classic frustration for anyone trying to build a super-dynamic dashboard. But don't worry, being limited by default settings isn't the end of the story. This tutorial will walk you through a couple of powerful and popular workarounds that give you and your users the multi-select functionality you're looking for.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Understanding the "One Value" Rule for Tableau Parameters

Before diving into the fixes, it helps to understand why this limitation exists. In Tableau, a parameter is a workbook-level variable. Think of it as a placeholder value - like a single number, date, or string of text - that a user can change. You can then reference this value in your calculations, filters, and reference lines. This makes parameters incredibly versatile for what-if analysis or enabling global controls across multiple data sources.

For example, you could create a parameter called Discount Percentage and let a user input any number from 5% to 25%. This single value would then be used in a calculated field to update your sales projections across the whole dashboard. This one-to-one design is its core strength.

Filters, on the other hand, are different. When you drag a dimension like 'Region' to the filter shelf, Tableau automatically gives you options for multiple-value lists, dropdowns, or wildcards. Filters are directly tied to the values within a specific data field. The challenge - and the goal of this article - is to make a flexible, workbook-level parameter behave more like a user-friendly, multi-select filter.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Workaround #1: Using a Parameter with String Functions

The most common and flexible workaround involves creating a string parameter where users can type a list of values separated by a comma. You then use a calculated field to check if a value from your dimension is contained within that parameter string. It sounds complex, but it's pretty straightforward once you break it down.

Step 1: Create a String Parameter

First, we need to create the parameter that will serve as our free-text input box.

  • In the Data pane on the left, click the small dropdown arrow and select Create Parameter.
  • Give your parameter a descriptive name, like Select Categories.
  • For the Data Type, choose String.
  • For Allowable values, select All. This turns the parameter into an empty text box.
  • Click OK.

Next, find your new parameter in the Parameters section at the bottom of the Data pane. Right-click on it and choose Show Parameter. Now, you should see an input box appear in your worksheet view.

This box is where your user will type something like "Furniture, Office Supplies".

Step 2: Create a Filtering Calculation

Now for the fun part. We need to create a calculated field that filters your view based on what's typed into the parameter box. The key here is using a string function like CONTAINS() or FIND().

Open the calculated field editor by clicking the dropdown arrow in the Data pane and selecting Create Calculated Field. Let's call this calculation Multi-Select Category Filter.

Method A: Using the CONTAINS() Function

The CONTAINS() function is the simplest approach. It checks if a substring can be found within a larger string. The syntax is CONTAINS(string, substring), and it returns True or False.

Here's the formula:

CONTAINS([Select Categories], [Category])

This formula checks if the user's input in the Select Categories parameter contains the name of the dimension member from the [Category] field. For example, if a user types "Furniture, Office Supplies" and the formula checks the row for "Furniture," it will find a match and return TRUE. If it checks the "Technology" row, it returns FALSE.

Heads Up: A small drawback to CONTAINS() is that it matches partial strings. If you have categories like "Art" and "Art Supplies," typing "Art" would match both. Not ideal. A more robust way to do this uses the FIND() function.

Method B: A More Robust Filter with FIND()

To avoid partial matches, we can add a separator (like a comma) to both our parameter string and dimension. This ensures we're only matching whole words.

Here's the improved formula:

FIND("," + [Select Categories] + ",", "," + [Category] + ",") > 0

This looks a little odd, so let's break it down:

  • We add a comma to the beginning and end of both the parameter input and the field value.
  • If a user types "Furniture, Office Supplies", the left side of the FIND() becomes ",Furniture, Office Supplies,".
  • When Tableau checks the "Furniture" record, the right side becomes ",Furniture,".
  • The FIND() function will successfully find ",Furniture," inside of ",Furniture, Office Supplies," and return a number greater than 0 (which means it's TRUE in a boolean sense).
  • If it checks a partial match like "Art," it's looking for ",Art," inside an input list of "Art Supplies," and it won't find it. This makes your filter much more reliable.
GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 3: Apply the Filter to Your Worksheet

Once you've saved your calculated field, all you need to do is apply it:

  1. Drag your new calculated field (e.g., Multi-Select Category Filter) from the Data pane onto the Filters card.
  2. A dialog box will appear. Check the box for True and click OK.

That's it! Now, go to your Select Categories parameter box and type in values separated by a comma (and a space for readability), like "Furniture, Technology". Your visualization will update instantly to show data only for those categories.

Workaround #2: Empowering Users with Set Actions

The string parameter method is powerful, but it's not the most user-friendly. Your audience has to know the exact names of the values they want to filter and type them correctly. For a cleaner, more interactive experience, you can use Set Actions - a feature introduced in Tableau 2018.3.

This method involves creating a clickable list that sends values to a Set, which then filters your main chart. It provides a real multi-select dropdown or list feel.

Step 1: Create a Set From Your Dimension

First, create a set based on the field you want to filter by. For this example, we'll use the 'Sub-Category' dimension.

  • In the Data pane, find the dimension you want to use (e.g., Sub-Category).
  • Right-click on it and choose Create > Set.
  • Name your set something clear, like Selected Sub-Categories Set.
  • Leave the set empty for now, as the action will populate it with values later. Click OK.

Step 2: Build Your Main Visualization

Now, create the chart you want to be filtered. Let's build a simple bar chart showing Sales by State.

  • Drag Sales to Columns and State to Rows.
  • Drag the set you just created, Selected Sub-Categories Set, onto the Filters card. This links the chart to the set, so it will only show data for members "IN" that set.

Initially, your sheet will be blank because the set is empty. No worries - the next step brings it to life.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 3: Create a "Selector" Worksheet

We need to build a simple list that users can click on to control the filter. This will act as our "parameter" control.

  • Create a new worksheet. Let's call it "Sub-Category Selector."
  • Drag the Sub-Category dimension onto the Rows shelf. You'll see a text list of all your sub-categories.
  • To make it look nicer, you can change the mark type on the Marks card to Shape (using a filled-in circle), drag the Set you created (Selected Sub-Categories Set) to Color, then maybe drag Sub-Category to Text as well. This visually highlights what is selected.

Step 4: Combine Everything with a Set Action on a Dashboard

This is where the magic happens. Put your main chart and your selector sheet together on a new dashboard.

  • Create a new dashboard.
  • Add both your "Sales by State" chart and your "Sub-Category Selector" sheets to the dashboard layout.
  • At the top, go to Dashboard > Actions.
  • Click Add Action > Change Set Values.

Now, configure the action with these settings:

  • Give the action a name you'll remember, like "Update Sub-Category Set."
  • Source Sheets: Check the box next to your "Sub-Category Selector" sheet.
  • Run action on: Select. This makes the filter respond to clicks.
  • Target Set: Under Target Set, choose the set you created: Selected Sub-Categories Set.
  • Running the action will: Assign values to set. This adds clicked items to the set.
  • Clearing the selection will: Remove all values from the set. This is important! It means that when you click off a selection, the set becomes empty, and the filter resets (often revealing all data, which is quite user-friendly).

Click OK twice to close the windows. Now test it out! Click on a sub-category in your selector list on the dashboard. Your main chart should update. Now, hold down CTRL (or CMD on Mac) and click on a few more. Voilà! You have interactive, multi-select filtering.

Final Thoughts

While Tableau doesn't offer a direct multi-select parameter out of the box, clever workarounds fill the gap completely. Whether you opt for the flexible string calculation for quick analyses or the sleek, user-friendly Set Action for polished dashboards, you can absolutely give your users the dynamic filtering experience they expect. Each has its strengths, but mastering them is a huge step toward building more powerful reports.

Slogging through calculated fields and action filters can be time-consuming, these workarounds highlight the learning curve that can come with traditional BI software. We designed Graphed to smooth out that curve entirely. Instead of configuring sets or writing formula logic, you can simply ask what you want to see, such as "show me sales for phones, chairs, and tables as a bar chart," and get a live visualization instantly. Our platform handles the complex joining and filtering behind the scenes, so you can focus on your data's story, not the technical setup.

Related Articles