How to Get Selected Filter Value in Power BI

Cody Schneider7 min read

Ever created a Power BI report where the title stays static no matter what filter is selected? You’re not alone. To create a truly interactive and intuitive dashboard, you need your report’s elements - like titles and cards - to react to user selections. This tutorial will walk you through exactly how to capture the value a user selects in a Power BI slicer or filter and use it to make your reports come alive.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Why Is Getting the Selected Filter Value So Useful?

Capturing a user’s filter selection feels like a small trick, but it unlocks a huge amount of potential for making your reports more professional and user-friendly. When your report elements can "see" what's been selected, you can build much more dynamic experiences.

Here are a few common scenarios where this technique is a game-changer:

  • Dynamic Titles: Instead of a generic title like "Sales Report," you can create titles that update automatically, such as "Sales Report for USA" or "Performance for Q4 2023." This simple enhancement provides immediate context for anyone viewing the report.
  • Contextual Cards and KPIs: You can create cards that display more than just a number. Imagine a card that not only shows revenue but also includes a line stating, "Based on selected product: Laptops."
  • Custom In-Report Narratives: By grabbing the selected value, you can build text elements that change to explain the data. For example, if a user selects a specific salesperson, a text box could show, "Here is a breakdown of John Doe's performance this quarter..."
  • Conditional Calculations: The selected value can be fed into other, more complex DAX measures. This allows you to perform calculations that change based on user input, creating a much more tailored analysis.

Fortunately, Power BI gives us powerful yet simple DAX (Data Analysis Expressions) functions to achieve all of this. Let's get into the specifics.

The Easiest Method: Using SELECTEDVALUE for Single Selections

The most common and straightforward scenario is when you want to capture a single item selected from a slicer. For this, the SELECTEDVALUE() function is your best friend.

The SELECTEDVALUE() function checks the specified column. If an interaction (like a slicer selection) has filtered that column down to just one unique value, the function returns that value. If more than one value is present, or if no value is present, it returns a blank or a specified alternative.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Step-by-Step Example: Creating a Dynamic Title

Let's say we have a simple report with sales data and a slicer for product categories. We want the report title to update to show which category is currently selected.

1. Create a New Measure

First, we need to create a DAX measure that will store our selected value. In the Power BI ribbon, go to the Modeling tab and click New Measure.

2. Write the DAX Formula

In the formula bar, type the following DAX expression. Let’s assume your table is called 'Products' and the column with categories is named 'Category'.

Selected Category Title = "Sales Performance for: " & SELECTEDVALUE('Products'[Category], "All Categories")

Let's break down this formula:

  • "Sales Performance for: ": This is just a static piece of text that will serve as the first part of our title. The & symbol is used to join text strings together.
  • SELECTEDVALUE('Products'[Category], "All Categories"): This is the core logic.

3. Use the Measure in Your Report

Now that you have your measure, you can use it to create a dynamic title. The easiest way is with a Card visual.

  1. Add a Card visual to your report canvas.
  2. Drag your new measure, Selected Category Title, into the 'Fields' well of the Card visual.

With nothing selected in your slicer, the card will display: "Sales Performance for: All Categories." But once you click on a category, like "Electronics," it will instantly update to "Sales Performance for: Electronics."

Pro Tip: You can also use this measure to make the title of any visual dynamic. Select a chart, go to the Format visual pane > General > Title. Click the fx (Conditional formatting) button next to the title text box. In the dialog box that appears, set the 'Format style' to 'Field value' and select your Selected Category Title measure as the field. Now, the chart’s own title will update dynamically!

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Handling Multiple Selections with CONCATENATEX

The SELECTEDVALUE() function is perfect for single-select scenarios, but what happens when you let users select multiple items from a slicer? In that case, SELECTEDVALUE returns the alternate text, which isn't very helpful if you want to see exactly what’s been picked.

For this challenge, we turn to CONCATENATEX(). This powerful iterator function goes through a table (in our case, the list of selected items) and joins text from each row into a single string, separated by a delimiter of your choice.

Step-by-Step Example: Displaying a List of Selected Items

Let's adapt our previous example. We have a multi-select slicer for product categories, and we want to display a comma-separated list of all selected categories.

1. Create a New Measure

As before, go to the Modeling tab and click New Measure.

2. Write the CONCATENATEX Formula

Enter the following DAX into the formula bar:

Selected Categories List = 
CONCATENATEX(
    VALUES('Products'[Category]),
    'Products'[Category],
    ", "
)

Here’s how this one works:

  • CONCATENATEX(...): This is our main function.
  • VALUES('Products'[Category]): This is the first argument, and it provides the table that the function will iterate over. When used in a slicer's filter context, VALUES() returns a unique list (a single-column table) of the items that are currently selected. If "Electronics" and "Apparel" are selected, this part essentially creates a temporary table containing those two values.
  • 'Products'[Category]: This is the second argument. It tells the function which column from the table (created by VALUES) to use for the text string. In this case, it's just the category name itself.
  • ", ": This is the third argument, the delimiter. It's the string of text that will be placed between each value. Here, we're using a comma followed by a space for nice formatting.

3. Use the Measure in a Visual

Add this new Selected Categories List measure to a Card visual. Now, when you select multiple items in your slicer, the card will display a clean list, like "Electronics, Apparel, Home Goods."

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Making It Smarter with an IF Statement

The measure above works great when items are selected, but what does it show when nothing is selected? It often shows a long list of every single category, which isn't very neat. We can combine our logic with a check to make it more professional.

The ISFILTERED() function returns TRUE if the specified column is being filtered by a slicer or other interaction.

Let's create one final, polished measure for a dynamic title:

Dynamic Multi-Select Title = 
IF(
    ISFILTERED('Products'[Category]), 
    "Showing data for: " & CONCATENATEX(VALUES('Products'[Category]), 'Products'[Category], ", "),
    "Showing data for All Categories"
)

This measure first checks if the 'Category' column is filtered. If it is, it builds the dynamic list. If it isn't (meaning nothing or everything is selected), it shows a friendly, generic message.

Final Thoughts

Mastering how to grab selected filter values moves you from building static reports to creating truly interactive analytical tools. Using functions like SELECTEDVALUE for single items and CONCATENATEX for multiple selections, you can give your users clear context, making your dashboards more intuitive and useful for everyone.

While mastering DAX in tools like Power BI is a powerful skill, getting insights from your data shouldn't always require learning formulas and building reports from scratch. That's why we built Graphed. We connect your marketing and sales data sources in one click and allow you to build real-time dashboards and reports simply by asking for what you want in plain English. Instead of tinkering with DAX, you can just ask, "Show me my sales by product category for the last quarter," and get an interactive chart in seconds, giving you back time to focus on strategy instead of report building.

Related Articles