Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
I am not sure that I understand how Power BI direct query works under the hood and whether Power BI optimise the query or not. Assume I have a filter (slicer with single selection) binding on column ColumnX in order to filter data on table: TableY
When user select value on slicer, does Power BI optimise query like:
SELECT * FROM TABLE tableY
WHERE ColumnX = 'Value'
Or, Power BI get all data from TableY and then filter happens in memory
Solved! Go to Solution.
For SQL Server, I've captured what Power BI does in direct query when selecting the slicer, with the help of SQL Server profiler. Power BI actually sends a query with where filter as you mentioned, instead of get all data and filter in memory, though the query is usually not efficient. So I think the similar behavior is applied when connecting to other databases and it can be easily proved with individual profiler tools.
For SQL Server, I've captured what Power BI does in direct query when selecting the slicer, with the help of SQL Server profiler. Power BI actually sends a query with where filter as you mentioned, instead of get all data and filter in memory, though the query is usually not efficient. So I think the similar behavior is applied when connecting to other databases and it can be easily proved with individual profiler tools.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 60 | |
| 53 | |
| 40 | |
| 15 | |
| 14 |
| User | Count |
|---|---|
| 97 | |
| 81 | |
| 35 | |
| 29 | |
| 25 |