Excelgoodies logo +44 (0)20 3769 3689

LEARN THIS HANDS ON

Power BI Reporting

. Live Online FILLING FAST
View all upcoming batches
Power BI Measure Not Responding to Slicer? 5 Real Causes and How to Fix Them

Power BI Measure Not Responding to Slicer? 5 Real Causes and How to Fix Them

Your report users click a slicer, expect the KPI to move, and… nothing. The table and chart visuals filter correctly, but a key measure stubbornly shows the same number. When a Power BI measure is not responding to slicer selections, it’s usually a model or DAX issue, not a random bug.

This article walks through a realistic scenario and five common causes that make measures ignore slicers, with concrete fixes you can apply in a production report.

Scenario: Sales Performance Report With a Stuck KPI

You’re maintaining a Sales Performance report for a regional team:

  • Fact table: Sales (OrderDate, CustomerID, ProductID, SalesAmount, Quantity)
  • Dimensions: DimDate, DimCustomer, DimProduct
  • Slicers: Date range (from DimDate), Customer segment (from DimCustomer), Product category (from DimProduct)

The main card visual shows:

Total Sales = SUM ( Sales[SalesAmount] )

Users complain:

  • Filtering on a specific customer segment changes the table visual, but Total Sales stays at the full dataset value.
  • Selecting a date range in the date slicer doesn’t change the KPI either.

We’ll use this scenario to walk through five causes that make measures ignore slicers, and the corresponding fixes.


1. Relationships Missing or Inactive

If slicer selections don’t propagate to the fact table, the measure won’t see any filter change.

Symptom in the scenario

  • Customer segment slicer (from DimCustomer[Segment]) filters the customer table visual.
  • The Sales table doesn’t change row count in a matrix visual when you apply the same slicer.
  • The Total Sales card shows the same number regardless of segment.

Common causes

  1. No relationship between DimCustomer and Sales.
  2. Inactive relationship (e.g., multiple relationships between date tables and the fact table).
  3. Relationship exists but is not single-direction where needed.

How to check

  1. Open Model view.
  2. Verify there is a relationship between:
    • DimCustomer[CustomerID] → Sales[CustomerID]
    • DimDate[Date] → Sales[OrderDate] (or the appropriate date key)
  3. Check:
    • Relationship is active.
    • Cardinality and direction make sense (usually one-to-many, single direction from dimension to fact for standard star schemas).

Fix

  • Create the missing relationship (dimension to fact) and set it active.
  • If you have multiple date relationships and a measure should use a non-active one, use USERELATIONSHIP explicitly.

Example: use invoice date instead of order date in the measure:

Total Sales (Invoice Date) = 
CALCULATE ( 
    SUM ( Sales[SalesAmount] ), 
    USERELATIONSHIP ( DimDate[Date], Sales[InvoiceDate] )
)

Why this makes the measure respond to slicers

Once a valid, active relationship exists, slicer selections on DimCustomer and DimDate propagate filter context to Sales. The measure now evaluates over the filtered rows, so the card value changes with the slicers.


2. DAX Measure Hard-Coding or Ignoring Filter Context

Sometimes the model is fine, but the measure itself explicitly removes the slicer filters.

Symptom in the scenario

  • Other visuals respond to slicers.
  • The problem measure uses CALCULATE with ALL or similar functions.

Example of a problematic measure:

Total Sales (Broken) = 
CALCULATE ( 
    SUM ( Sales[SalesAmount] ), 
    ALL ( DimCustomer ), 
    ALL ( DimDate )
)

This measure deliberately ignores filters from DimCustomer and DimDate, including slicers.

Typical patterns that cause issues

  1. Using ALL on the entire dimension instead of a specific column:
    • ALL(DimCustomer) wipes all customer-related filters.
  2. Using ALL or REMOVEFILTERS on too broad a scope:
    • REMOVEFILTERS() without arguments removes filters from all columns in the current filter context.
  3. Using ALLSELECTED incorrectly, expecting it to respect slicers but forgetting its semantics.

Fix: Scope your filter-removal carefully

If the business requirement is “ignore product category, but respect date and customer”, write:

Total Sales (Respect Date and Customer) = 
CALCULATE ( 
    SUM ( Sales[SalesAmount] ), 
    ALL ( DimProduct[Category] )
)

This keeps slicers on DimDate and DimCustomer effective, while ignoring only the product category.

If you want the measure to respond to all slicers, avoid ALL/REMOVEFILTERS on those dimensions:

Total Sales (Slicer-Aware) = SUM ( Sales[SalesAmount] )

When ALLSELECTED actually helps

To keep the effect of outer filters (e.g., report-level filters) but respect the user’s slicer selections in the current visual, you can use:

Total Sales (AllSelected) = 
CALCULATE ( 
    SUM ( Sales[SalesAmount] ), 
    ALLSELECTED ( DimCustomer )
)

Here, ALLSELECTED preserves the filters coming from slicers and some external context, instead of wiping them like ALL.


3. Slicer Bound to the Wrong Table or Column

A slicer can change a visual without affecting the measure if it’s bound to a table that doesn’t propagate filters to the measure’s underlying data.

Symptom in the scenario

  • You created a calculated table for a custom slicer, e.g. CustomerSegmentSlicer.
  • The slicer is based on CustomerSegmentSlicer[Segment].
  • There is no relationship between CustomerSegmentSlicer and Sales.

Or:

  • Slicer uses a disconnected table for scenario analysis.
  • Measure doesn’t reference that disconnected table at all.

Typical patterns

  1. Disconnected tables for What-If parameters or scenario slicers.
  2. Slicers built on columns that are not part of the filter path to the fact table.
  3. Slicers using different keys or formats (e.g., text date vs. date type) without proper mapping.

Fix 1: Connect the slicer table properly

For a standard filter slicer, ensure:

  • Slicer uses a dimension table column that is related to the fact table.
  • The relationship is active and in the correct direction.

Example: Use DimCustomer[Segment] instead of a disconnected CustomerSegmentSlicer table.

Fix 2: Explicitly use disconnected slicers in measures

If the slicer is intentionally disconnected (e.g., scenario selection), the measure must read its value explicitly.

Example: scenario slicer on Scenario[ScenarioName]:

Scenario Sales = 
VAR SelectedScenario = SELECTEDVALUE ( Scenario[ScenarioName] )
RETURN
SWITCH ( 
    TRUE (),
    SelectedScenario = "Base", SUM ( Sales[SalesAmount] ),
    SelectedScenario = "Upside", SUM ( Sales[SalesAmount] ) * 1.1,
    SelectedScenario = "Downside", SUM ( Sales[SalesAmount] ) * 0.9,
    SUM ( Sales[SalesAmount] )
)

Here the slicer is disconnected, but the measure reads Scenario[ScenarioName] and changes output accordingly.

If you don’t reference the disconnected table, the measure will never respond to that slicer.


4. Measure Evaluated in a Different Filter Context Than You Expect

Sometimes the measure is correct, but the visual or filter configuration changes the context in ways that make slicers appear to be ignored.

Symptom in the scenario

  • Total Sales card seems unresponsive to slicers.
  • A table visual with Total Sales by customer responds correctly.
  • Report-level filters are applied, but the card uses a different filter context.

Common reasons:

  1. Visual-level filters on the card override slicer effects.
  2. Measure used in a separate calculation (e.g., tooltip, composite measure) that modifies context.
  3. Using CALCULATE with ALL on the table containing the slicer column inside a composite measure.

Example: composite measure hiding slicer effect

Total Sales % of All Customers = 
VAR TotalAllCustomers = 
    CALCULATE ( 
        SUM ( Sales[SalesAmount] ), 
        ALL ( DimCustomer )
    )
VAR TotalCurrentContext = SUM ( Sales[SalesAmount] )
RETURN
DIVIDE ( TotalCurrentContext, TotalAllCustomers )

If you put only Total Sales % of All Customers in a card, users may expect it to change with the customer slicer. It will change (numerator changes), but if the denominator dominates and the context is not obvious, it may look like it’s ignoring slicers.

Fix: Inspect and align filter context

  1. Use Performance Analyzer and Show as a table to inspect what filters are applied to the visual.
  2. Check visual-level filters on the card.
  3. If necessary, create a simpler measure for the card that directly reflects slicer filters:
Total Sales (Card) = SUM ( Sales[SalesAmount] )
  1. For composite measures, be explicit about which parts should respect slicers and which shouldn’t.

Example: keep both numerator and denominator slicer-aware:

Total Sales % of Report Context = 
VAR TotalAllContext = 
    CALCULATE ( 
        SUM ( Sales[SalesAmount] ), 
        ALLSELECTED ( DimCustomer )
    )
VAR TotalCurrentContext = SUM ( Sales[SalesAmount] )
RETURN
DIVIDE ( TotalCurrentContext, TotalAllContext )

Here, ALLSELECTED respects report and slicer context instead of ignoring it entirely.


5. Row-Level Security (RLS) and Cross-Filtering Configuration

Security and cross-filter settings can make slicers look broken when they’re actually working within a constrained view of the data.

Symptom in the scenario

  • A user with RLS applied sees different behaviour from a developer.
  • Slicers appear to do nothing, but only for secured roles.
  1. RLS defined on a dimension table but not on the fact table, combined with relationships that don’t propagate as expected.
  2. RLS filters a bridge or helper table, breaking the filter path from slicer to fact.
  3. Measures using ALL on tables with RLS can appear to ignore slicers because they work against a restricted subset of data.

Cross-filter direction issues

If you rely on single-direction relationships and RLS or modeling choices block the path from slicer to measure, slicers won’t affect the measure.

Fix: Validate behaviour under the role

  1. In Power BI Desktop, use View as → select the relevant role.
  2. Test slicers and see:
    • Does the fact table row count change?
    • Does the measure change?
  3. If the slicer doesn’t change the fact table, check:
    • RLS definitions on all tables in the filter path.
    • Relationship directions.

Example: ensure that DimCustomer with RLS still filters Sales:

  • RLS on DimCustomer[Region] should not break the relationship DimCustomer[CustomerID] → Sales[CustomerID].

If you use ALL on a table with RLS, remember:

  • ALL(DimCustomer) clears filters from the visible rows for that role, not the entire physical table. The measure still respects RLS, but may ignore slicers on that dimension.

If you need slicer-aware behaviour under RLS, avoid clearing filters on the secured dimension in the measure.


Pulling It Together in the Sales Report

Back to the Sales Performance report:

  1. You confirm relationships:
    • DimCustomer → Sales and DimDate → Sales are active and single-direction.
  2. You fix the measure:
Total Sales = SUM ( Sales[SalesAmount] )
  1. You remove the disconnected CustomerSegmentSlicer table and bind the slicer to DimCustomer[Segment].
  2. You check the card’s visual-level filters and remove anything that overrides slicer context.
  3. You test under the RLS role used by the sales team and confirm slicers filter both the table and the card.

Now, when the team selects a specific segment and date range, the Total Sales card moves with the rest of the report.


Practical Takeaway

When a Power BI measure is not responding to slicer selections, don’t start by rewriting the DAX from scratch. First verify the filter path (relationships and RLS), then check whether the measure is explicitly removing filters, and finally confirm that the slicer is bound to a table and column that the measure actually depends on. That sequence will usually surface the real cause in minutes instead of hours.

Editor's Note

This article reflects a common pattern where teams move from ad-hoc Power BI reports to more governed models and start hitting filter-context and relationship issues, especially in environments with RLS and scenario slicers.

Professionals who want to apply these patterns to their own data can explore Excelgoodies' Power BI Reporting programme - taught live by instructors, with certification awarded once a real project is running at work.

Insights compiled through ongoing industry research and discussions within the Excelgoodies Analytics Community.

Power BI

New

Next Batches Now Live

Power BIPower BI
SQLSQL
Power AppsPower Apps
Power AutomatePower Automate
Microsoft FabricMicrosoft Fabrics
AzureAzure Data Engineering
Explore Dates & Reserve Your Spot → Reserve Your Spot →