
Founder | CEO @ RADACAD | Coach | Power BI Consultant | Author | Speaker | Regional Director | MVP
In a recent YouTube video, Reza Rad (RADACAD) [MVP] explains the importance of Query Folding in Power Query for Power BI and Microsoft Fabric solutions. He presents the concept as a core performance technique, and then demonstrates when and how it happens, as well as its effects on refresh times and resource use. Consequently, the video targets developers and report authors who face long refresh times and need practical steps to diagnose and improve performance.
Rad frames the topic around a common pain point: slow data loads during refresh. He argues that many refresh issues stem from transformations that do not get translated into native queries at the source, which increases data transfer and local processing. Therefore, understanding folding helps teams decide whether to adjust transformations, change connectors, or push more work to the source system.
The video defines Query Folding as Power Query’s ability to convert transformation steps into a single native query, such as SQL, that the data source can execute. As a result, filtering, aggregations, and joins happen at the source rather than in memory, which usually reduces the volume of data moved into Power BI and speeds up refreshes.
Rad shows how to verify folding in the Power Query Editor by right-clicking a step and choosing View Native Query. He also notes that when the option is grayed out, folding has stopped for that step. Moreover, he points out the status indicators that appear in the editor which hint whether a step is folding, not folding, might fold, or remains unknown, and he encourages viewers to inspect those markers during development.
Rad emphasizes that the primary advantage of folding is improved performance: when the source executes transformations, Power BI handles fewer rows and consumes less memory and CPU. Consequently, reports refresh faster and scale better with large datasets, and features such as incremental refresh depend on folding to limit the data retrieved by date or partition filters.
However, he also discusses tradeoffs. For instance, custom M functions, certain data connectors, or complex transformations can prevent folding. Therefore, while folding is desirable, developers sometimes sacrifice it for readability, maintainability, or necessary logic that cannot be expressed in the source query language. Rad advises balancing these factors: push operations to the source when possible, but accept local processing when the logic requires it.
The video highlights common challenges such as connector support: not all connectors translate steps to native queries, and some return opaque plans that block folding. Additionally, combining data from different sources often forces Power Query to switch to local processing, which halts folding. Thus, teams must evaluate whether to centralize transformation logic in a source system or adjust their ETL patterns to preserve folding.
Rad also explores the role of parameters in preserving folding for scenarios like incremental refresh. He suggests designing parameters and filters to be foldable, for example by avoiding dynamic constructs that the connector cannot translate. Moreover, he warns that achieving full folding can require careful ordering of steps so early, simple operations remain foldable and later steps do not break the chain.
Throughout the tutorial, Rad recommends pragmatic best practices: inspect the native query where possible, limit transformations that the source cannot execute, and test performance tradeoffs. He encourages developers to prefer server-side processing for heavy aggregations but to apply local logic when business needs demand complex transformations not supported by the source.
Finally, Rad notes recent platform trends that affect decision making, such as ongoing updates to Power Query and Power BI and architectural shifts like moving users to 64-bit clients for larger workloads. He concludes that mastering Query Folding remains a valuable skill for improving refresh times and overall solution scalability, while acknowledging that achieving perfect folding is not always feasible and requires balancing performance, complexity, and maintainability.
In conclusion, Reza Rad’s video offers a clear, practical guide to understanding and diagnosing Query Folding in Power Query. He provides actionable steps for verification, explains the benefits and tradeoffs, and outlines how connector and transformation choices influence folding behavior. Therefore, Power BI authors and architects can use these insights to make informed tradeoffs between pushing work to the data source and keeping logic in Power Query.
For editorial readers, the video serves as a useful primer and refresher on a technical subject that has direct impact on report performance. Moreover, it underscores that performance tuning often involves compromise: improving refresh speed may mean reworking data architecture, while preserving complex business rules may necessitate accepting some local processing overhead.
Power BI query folding, Query folding in Power Query, Power Query performance tips, Optimize Power BI query folding, Improve Power BI performance, Diagnose query folding Power BI, M query folding techniques, Incremental refresh query folding