Power BI technique · built-in features only

How to make visual titles change with slicers in Power BI

By · Founder & Reliability Engineer · Updated

Write a measure that returns the title as text, then in the visual's Format pane open General → Title, click fx next to Text, set Format style to Field value and pick the measure. The title now reads from the measure, so it follows slicers, filters and cross-highlighting. Subtitles work the same way.

When to use it. Use it whenever a visual's scope changes with a slicer: region, product, period or currency. It removes the 'which filter is on?' question without a separate card.

Worked example

Worked example · Lumen Rail Freight · one bar chart, four slicer states

Nothing selected

Region slicer:AlpineBalticBeneluxIberiaNordics

Sales, all regions

  • Alpine$410K
  • Baltic$365K
  • Benelux$520K
  • Iberia$298K
  • Nordics$455K

One region

Region slicer:AlpineBalticBeneluxIberia✓ Nordics

Sales, Nordics

  • Nordics$455K

Three regions

Region slicer:AlpineBaltic✓ Benelux✓ Iberia✓ Nordics

Sales, Benelux, Iberia, Nordics

  • Benelux$520K
  • Iberia$298K
  • Nordics$455K

Four regions

Region slicer:✓ Alpine✓ BalticBenelux✓ Iberia✓ Nordics

Sales, 4 regions

  • Alpine$410K
  • Baltic$365K
  • Iberia$298K
  • Nordics$455K
Each title is the measure's output for that slicer state; the chart and the title read the same filter context.

Lumen Rail Freight is a fictional operator with five regions. The four panels are the same bar chart under four slicer states, and each title is exactly what the title measure returns for that state. With nothing selected it reads "Sales, all regions". With Nordics alone it reads "Sales, Nordics". With three regions it lists them, and the order is alphabetical ("Sales, Benelux, Iberia, Nordics") even though Nordics was clicked first, because the measure passes an order-by column to CONCATENATEX.

With four regions the list would start to wrap, so the measure switches to a count: "Sales, 4 regions". The threshold of three is a design choice, not a rule. Pick the largest number of names that fits on one line at the visual's width, and test the longest names in your data, not the shortest.

Notice that the chart and its title never disagree: both are evaluated in the same filter context. A title typed by hand would have said "Nordics" on all four panels.

Steps

  1. 1

    Write a text measure

    Handle one selection, several and none. SELECTEDVALUE returns the value when exactly one is selected and the alternate result otherwise.

    Title Sales by Region =
    VAR n = COUNTROWS ( VALUES ( Region[Region] ) )
    VAR one = SELECTEDVALUE ( Region[Region] )
    RETURN
        "Sales, "
            & SWITCH (
                TRUE (),
                NOT ISFILTERED ( Region[Region] ), "all regions",
                n = 1, one,
                n <= 3, CONCATENATEX ( VALUES ( Region[Region] ), Region[Region], ", " ),
                n & " regions"
            )
  2. 2

    Bind it to the title

    Select the visual → Format visual → General → Title. Next to Text, select fx. Set Format style: Field value and choose the measure. OK.

  3. 3

    Add a dynamic subtitle

    Turn Subtitle on in the same card and bind it the same way, for example to a measure that states the period or the comparison basis.

  4. 4

    Check every state

    Test with nothing selected, one value, several values and a cross-highlight from another visual. Long lists should collapse to a count, as in the measure above.

How it works

A visual's title can be bound to a measure because Power BI evaluates the measure in the visual's filter context, the same context the visual's data comes from. Slicers, page and report filters, and cross-highlighting from other visuals all reach it. The measure has no row context, so it must aggregate: SELECTEDVALUE, VALUES with COUNTROWS, MIN and MAX.

ISFILTERED tells "nothing selected" apart from "everything selected": with no selection the column is not filtered at all, which is a different state from a selection that happens to include every value. CONCATENATEX without its order-by arguments returns values in whatever order the engine produces them, so always pass the column to sort by.

The same measure can feed a subtitle, a card, a button's text or a tooltip. Writing it once and reusing it keeps the wording consistent across the page.

What Microsoft documents

Limits and behaviour from Microsoft Learn that change how you build this.

  • Microsoft's page states that the field behind a title must be a string. Measures that return a number or a date are not supported, which is why the measure wraps every number in FORMAT.
  • Expression-based titles are not supported on Python visuals, R visuals or the Key influencers visual, and they are not carried over when a visual is pinned to a dashboard: the tile keeps whatever title text was there.
  • With a live connection to a published semantic model, the title can only use measures defined in that model, not measures created locally in the report. If the model owner has not published a title measure, ask for one or use a composite model.
  • For reports read in several languages, Microsoft suggests a SWITCH on USERCULTURE() inside the measure. It only returns the reader's culture inside a measure; in a calculated column it returns the model's default language.

Variations

  • Add the period: combine the region text with FORMAT of MIN and MAX of the date column to say "Sales, Nordics, Jan–Jun 2026".
  • Name the comparison in the subtitle ("vs plan" or "vs last year") from the measure a field parameter or calculation group has selected.

Check that it works

Clear every slicer and confirm the title says "all" rather than going blank. Then pick the value with the longest name in your data, not the one you used while building, and check the title still fits at the visual's real width on the published page.

Common mistakes

  • The measure must return text; numbers need FORMAT ( [Sales], "#,0" ) inside the string.
  • Titles truncate; keep dynamic parts short and put detail in the subtitle.
  • A blank result hides the title; always return a fallback string.
  • A title measure that depends on a slicer on another page only works if that slicer is synced to this page.

FAQ

Can the title show the selected date range?

Yes: "From " & FORMAT ( MIN ( 'Date'[Date] ), "d mmm yyyy" ) & " to " & FORMAT ( MAX ( 'Date'[Date] ), "d mmm yyyy" ) inside the measure.

Does this work for page titles in a text box?

A text box can't bind to a measure directly. Use a card (new card visual) or a button whose text is set with fx.

Sources

Menu names follow Power BI Desktop as documented on Microsoft Learn; they can move between releases. The companies and figures in the worked example are invented.

Related

Assets and guides that go with this technique.

More Power BI techniques

Make the report.
Then make it yours.

The Design Studio, templates and tools are free with no account (exports carry a small VizForge mark until you sign in). Sign up when you want AI: 5 credits on us, no card.

Generated visuals are type-checked and built before you download them; one that fails the quality SLA refunds its credits. See all features or pricing.