Power BI Summary Tables and Slicers: Why Some Work and Others Don’t
🧠 Introduction
Have you ever created a calculated table in Power BI, added a slicer, and… nothing happened?
You expected your summary to update when the user selected a date or category, but the table stayed frozen. If that’s you, you’re not alone.
This article is your complete guide to:
✅ Why some summary tables ignore slicers ✅ How to create slicer-responsive summaries — using measures, Power Query, and DAX best practices ✅ What actually works inside Power BI report visuals, and why ✅ A comparison of methods with pros, cons, and recommendations
Let’s break it down.
🧩 The Problem Setup
You have this dataset:
And your goal is to create a summary that:
❌ Approach 1: Calculated Table Using SUMMARIZE in DAX
Let’s start with the most common trap:
SummaryTable =
SUMMARIZE(
'Sales',
'Sales'[Item],
"Total Quantity", SUM('Sales'[Quantity]),
"Max Delivery Date", MAX('Sales'[DeliveryDate])
)
You then try to filter this using a slicer on 'Sales'[OrderDate].
🚫 But it doesn't work. Why? Because this calculated table is created at model load time only. Slicers (which affect filter context dynamically during report use) do not interact with it.
Calculated tables are static artifacts — useful for modeling, not interactivity.
✅ Approach 2: Measures + Matrix/Table Visual (Highly Recommended)
Instead of summarizing in a separate table, you use measures, which are always recalculated based on slicers and visuals.
Step-by-Step:
Example Measures:
Total Quantity =
SUM('Sales'[Quantity])
Max Delivery Date =
MAX('Sales'[DeliveryDate])
✔️ This setup 100% responds to slicers. Why? Because measures are evaluated in the current filter context, meaning whatever the user selects on the slicer, the measure adapts.
⚗️ Approach 3: Disconnected Slicer + TREATAS (Advanced Modeling)
Let’s say you want a calculated table to reflect slicer selections, you might try this:
Step 1: Create a disconnected slicer table
OrderDate_Slicer = DISTINCT(SELECTCOLUMNS('Sales', "OrderDate", 'Sales'[OrderDate]))
Step 2: Use TREATAS in a calculated table
SummaryTableWithSlicer =
VAR SelectedDates = VALUES('OrderDate_Slicer'[OrderDate])
RETURN
CALCULATETABLE(
SUMMARIZE(
'Sales',
'Sales'[Item],
"Total Quantity", SUM('Sales'[Quantity]),
"Max Delivery Date", MAX('Sales'[DeliveryDate])
),
TREATAS(SelectedDates, 'Sales'[OrderDate])
)
👎 Still won’t work in a matrix/table visual.
⚠️ This trick works only at model evaluation time, meaning, the TREATAS mapping is not dynamically tied to slicers in visuals. You may simulate interactivity, but it’s not truly responsive.
🧰 ✅ Approach 4: Power Query Summary Table Using Group By (Interactive with Slicers)
Now here’s an approach that does produce a table that works with slicers: Use Power Query’s Group By to summarize the data before loading it to the data model.
🎯 Why Power Query Tables Work with Slicers
When you use Power Query to summarize your data, you’re creating a new physical table that’s loaded into the model, and it’s treated as any other fact table.
If your summary table is properly related (e.g. with a shared Item or OrderDate dimension), then Power BI visuals and slicers can filter it just like any other table.
📌 Step-by-Step in Power Query:
Group By Settings:
Name the result table: SalesSummary_PQ
🔗 Relationship Tip:
Make sure SalesSummary_PQ is related to your Date table (if you have one) or directly use OrderDate in a slicer.
Now add a Matrix/Table visual:
✔️ Your summary will respond to slicer filters because this is a normal table in the model.
✅ Summary Table Comparison
🧠 Final Thoughts