Bird
Raised Fist0
Power BIbi_tool~5 mins

Query folding in Power Query in Power BI - Step-by-Step Guide

Choose your learning style10 modes available
Introduction
Query folding helps Power Query send data steps back to the source system to run there. This makes data loading faster and uses less computer power on your machine.
When you want to speed up data refresh by letting the database do filtering or calculations.
When your data source supports query folding, like SQL Server or Azure SQL.
When you want to reduce the amount of data transferred over the network.
When you apply filters or transformations that the source can handle directly.
When you want to keep your Power Query steps efficient and scalable.
Steps
Step 1: Open your Power BI Desktop file
- Home tab > Transform data
Power Query Editor window opens showing your data queries
Step 2: Right-click on a query name
- Queries pane on the left
Context menu appears with options for the query
Step 3: Select 'View Native Query' option
- Context menu after right-clicking the query
A window shows the SQL or native command that Power Query will send to the data source if folding is working
Step 4: Apply a filter or transformation step
- Power Query Editor ribbon or right-click column
The query updates and you can check again if 'View Native Query' shows the updated command
Step 5: If 'View Native Query' is greyed out, check previous steps
- Applied Steps pane on the right
You find which step breaks query folding by disabling or removing it and testing again
Before vs After
Before
Query applies all steps locally, loading full data from source, taking 5 minutes
After
Query folding sends filters to source, loading only needed data, taking 30 seconds
Settings Reference
View Native Query
📍 Right-click query name in Queries pane
Shows the exact query sent to the data source to confirm folding
Default: Enabled when folding is possible
Enable Load
📍 Right-click query name > Enable Load
Controls if the query loads data to the model; folding only applies if loading
Default: Checked
Common Mistakes
Adding a step that Power Query cannot fold, like a custom column with complex M code
This breaks query folding and forces all data to load locally, slowing refresh
Use simple transformations supported by the source or do complex steps after folding ends
Trying to fold queries from sources that do not support folding
Query folding only works with certain data sources like SQL databases
Check source compatibility and avoid expecting folding on unsupported sources like Excel files
Summary
Query folding pushes data steps back to the source to improve speed and efficiency.
You can check folding by using 'View Native Query' in Power Query Editor.
Avoid steps that break folding to keep your data refresh fast.

Practice

(1/5)
1. What is query folding in Power Query?
easy
A. It pushes data transformations back to the data source for faster processing.
B. It copies all data locally before applying transformations.
C. It disables all data refresh options.
D. It automatically creates charts from data.

Solution

  1. Step 1: Understand the concept of query folding

    Query folding means Power Query sends transformation steps back to the data source to run there.
  2. Step 2: Compare options with this definition

    Only It pushes data transformations back to the data source for faster processing. describes pushing transformations to the source for speed.
  3. Final Answer:

    It pushes data transformations back to the data source for faster processing. -> Option A
  4. Quick Check:

    Query folding = pushing steps to source [OK]
Hint: Query folding means running steps at the source, not locally [OK]
Common Mistakes:
  • Thinking query folding copies data locally first
  • Confusing query folding with data visualization
  • Believing query folding disables refresh
2. Which of the following Power Query steps supports query folding?
easy
A. Adding a custom column with complex M code referencing external files
B. Creating a manual index column
C. Merging queries with a local Excel table
D. Filtering rows based on a column value

Solution

  1. Step 1: Identify steps that can be folded

    Simple filters on source columns usually fold back to the database.
  2. Step 2: Analyze other options

    Custom columns with external references, merges with local tables, and manual indexes break folding.
  3. Final Answer:

    Filtering rows based on a column value -> Option D
  4. Quick Check:

    Filters fold, complex custom steps don't [OK]
Hint: Simple filters fold; complex or local steps usually don't [OK]
Common Mistakes:
  • Assuming all steps fold automatically
  • Thinking merges with local tables fold
  • Believing manual indexes fold
3. Given this Power Query M code, which step breaks query folding?
let
  Source = Sql.Database("Server", "DB"),
  FilteredRows = Table.SelectRows(Source, each [Status] = "Active"),
  AddedCustom = Table.AddColumn(FilteredRows, "Custom", each Text.Length([Name]))
in
  AddedCustom
medium
A. Source step
B. FilteredRows step
C. AddedCustom step
D. None, all steps fold

Solution

  1. Step 1: Check each step for folding support

    Source connects to SQL, supports folding. Filtering rows on a column also folds.
  2. Step 2: Analyze the AddedCustom step

    Adding a custom column with a function like Text.Length is done locally and breaks folding.
  3. Final Answer:

    AddedCustom step -> Option C
  4. Quick Check:

    Custom columns break folding [OK]
Hint: Custom columns usually break folding; filters don't [OK]
Common Mistakes:
  • Thinking all steps fold if source is SQL
  • Assuming filters break folding
  • Ignoring custom column impact
4. You notice your Power Query refresh is slow. Which fix helps restore query folding?
medium
A. Replace a custom column step with a simple filter step
B. Add a manual index column before filtering
C. Merge with a local Excel table before filtering
D. Disable the data source privacy settings

Solution

  1. Step 1: Identify what breaks folding

    Custom columns and merges with local tables break folding and slow refresh.
  2. Step 2: Choose a fix that restores folding

    Replacing custom columns with simple filters allows folding to resume.
  3. Final Answer:

    Replace a custom column step with a simple filter step -> Option A
  4. Quick Check:

    Simple filters restore folding, custom steps break it [OK]
Hint: Use filters instead of custom columns to keep folding [OK]
Common Mistakes:
  • Adding manual indexes early breaks folding
  • Merging with local tables breaks folding
  • Thinking privacy settings affect folding
5. You want to optimize a Power Query that merges a SQL table with a large local Excel table. How can you maximize query folding?
hard
A. Load the local Excel table to SQL before merging
B. Filter the SQL table first, then merge with the local Excel table
C. Merge first, then filter the combined table
D. Disable query folding to avoid errors

Solution

  1. Step 1: Understand folding with merges

    Merging with local tables breaks folding, but filtering source first keeps folding for that part.
  2. Step 2: Choose the best approach

    Filtering SQL table before merging reduces data and preserves folding on the source side.
  3. Final Answer:

    Filter the SQL table first, then merge with the local Excel table -> Option B
  4. Quick Check:

    Filter source before merge to keep folding [OK]
Hint: Filter source data before merging with local tables [OK]
Common Mistakes:
  • Merging before filtering breaks folding early
  • Assuming disabling folding helps performance
  • Not considering loading local data to SQL
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard