Courseiva
Prepare the data →mediumMultiple Select

Improve Data Refresh Performance in Power BI

Which TWO actions can improve data refresh performance in Power BI?

Quick Answer

The answer is filtering rows at the source to reduce data volume and disabling load for intermediate queries used only as reference steps. Filtering at the source, such as using SQL WHERE clauses or Power Query’s native query folding, minimizes the amount of data imported into the data model, directly cutting refresh time and memory overhead. Disabling load for intermediate queries prevents Power BI from materializing tables that serve only as transformation steps, so the engine skips loading unnecessary data into the model. On the PL-300 exam, this tests your understanding of Power Query’s query dependencies and the difference between reference queries and loaded tables; a common trap is assuming all queries must be loaded to the model. To improve data refresh performance in Power BI, always push filtering as far upstream as possible and treat intermediate reference queries as disposable steps. Memory tip: “Filter first, disable the rest” — reduce volume at the source, then turn off load for helper queries.

⚠ Common exam trap

It's easy for candidates to confuse 'disable load' with 'disable refresh' or think that merging queries (Option A) is always beneficial, when in fact it can reduce parallelism and hurt performance.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Disable load for intermediate queries used only for reference.

Option C is correct because disabling load on intermediate queries that are only used for reference prevents those staging tables from being materialized into the dataset, reducing the amount of data processed and stored during refresh. Option D is correct because filtering rows at the source (for example, using query folding or a WHERE clause in the source query) reduces the volume of data transferred and loaded, which directly speeds up refresh. Option A is not correct because merging all queries into one can create unnecessary complexity and may break query folding rather than improve performance. Option B is not correct because calculated columns in Power Query are computed during refresh and can actually slow it down compared to DAX calculated columns, which are computed at query time. Option E is not correct because keeping all source columns increases data volume and memory usage, which harms rather than improves refresh performance.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Merge all queries into a single query.

    Why it's wrong here

    Merging queries consolidates transformations into one pipeline, but refresh performance is governed by query folding and the volume of data transferred, not query count. Combining unrelated sources can actually prevent folding and force full in-memory processing. Merging suits reducing redundant staging queries when sources share a common lineage, not tuning refresh throughput.

  • ✗

    Add calculated columns in Power Query instead of DAX.

    Why it's wrong here

    Adding calculated columns in Power Query rather than DAX does not improve refresh performance; it shifts work to the refresh pipeline, increasing data loaded into the model and lengthening refresh. It is tempting because Power Query columns are computed during load and compress well, which suits static, row-level transformations that never need dynamic evaluation.

  • ✓

    Disable load for intermediate queries used only for reference.

    Why this is correct

    Disabling load on intermediate queries prevents their result sets from being materialised into the dataset, eliminating unnecessary storage and refresh work. Only the final query's output is loaded, so the refresh engine processes less data and completes faster, directly improving refresh performance.

  • ✓

    Filter rows at the source to reduce data volume.

    Why this is correct

    Filtering rows at the source reduces the volume of data transferred and processed during each refresh, directly satisfying the performance constraint in the stem. Less data means shorter extraction, transformation and load times, particularly valuable for large or wide tables where unnecessary historical rows inflate refresh duration.

  • ✗

    Keep all columns from the source data to avoid re-importing.

    Why it's wrong here

    Retaining every source column widens each refresh's data volume and memory footprint, slowing rather than improving it. Keeping all columns is appropriate when downstream reports genuinely need the full schema and no pruning is possible.

About these practice questions

This PL-300 question is part of Courseiva's 524-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

3 more ways this is tested on PL-300

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. Which TWO actions can help reduce the size of a Power BI dataset when preparing data?

medium
  • A.Include all historical data
  • ✓ B.Aggregate transaction data to daily level
  • C.Add calculated columns
  • ✓ D.Remove columns that are not used in reports
  • E.Use DirectQuery mode

Why B: Option B is correct because aggregating transaction-level rows into daily summaries collapses many individual records into far fewer rows, directly shrinking the dataset's row count and memory footprint in the Power BI model. Option D is correct because removing unused columns reduces the model's columnar cardinality and compression overhead, since Power BI's VertiPaq engine stores and compresses each column separately, so eliminating unnecessary columns lowers overall model size. Option A is incorrect because retaining all historical data increases row volume and model size rather than reducing it. Option C is incorrect because calculated columns are materialized and stored in the model, adding to its size instead of shrinking it. Option E is incorrect because DirectQuery does not reduce dataset size—it leaves data in the source and queries it on demand, and it is a connectivity mode rather than a data-reduction technique.

Variation 2. Which TWO actions should you take to reduce the size of a Power BI dataset? (Choose two.)

medium
  • ✓ A.Filter out rows that are not needed.
  • ✓ B.Remove unnecessary columns during import.
  • C.Disable query folding to improve performance.
  • D.Add calculated columns to precompute values.
  • E.Use DirectQuery instead of Import.

Why A: Option A is correct because filtering out rows that are not needed during import (for example, using Power Query filters or a WHERE clause in the source query) reduces the number of records loaded into the model, directly shrinking the dataset size in memory and on disk. Option B is correct because removing unnecessary columns during import eliminates entire columns of data from the model, which reduces both row-level storage and the columnar compression footprint in the VertiPaq engine. Option C is incorrect because disabling query folding typically hurts performance and does not reduce dataset size; folding pushes transformations back to the source. Option D is incorrect because adding calculated columns increases the model's size by storing additional materialized values. Option E is incorrect because DirectQuery does not store data in the model at all, but it is a connectivity mode change rather than a size-reduction action, and it does not reduce the size of an existing Import-mode dataset.

Variation 3. Which THREE actions in Power Query Editor can improve the performance of data refresh? (Select three.)

hard
  • A.Sort data in ascending order to improve compression.
  • B.Merge queries before filtering.
  • ✓ C.Remove columns that are not used in the report.
  • ✓ D.Disable the 'Enable load' option for intermediate tables that are not needed in the model.
  • ✓ E.Filter rows as early as possible in the query.

Why C: Option C is correct because removing unused columns reduces the volume of data that Power Query must read, transform, and load into the model, lowering memory and refresh cost. Option D is correct because disabling 'Enable load' on intermediate queries prevents those staging tables from being materialized into the data model, so refresh avoids loading data that no report consumes. Option E is correct because applying filters as early as possible (ideally at the source or in the first steps) reduces the number of rows flowing through subsequent transformation steps, which is the most effective way to speed up refresh. Option A is not correct because sorting rows does not improve refresh performance in Power Query; compression benefits in the VertiPaq engine come from column cardinality and encoding, not from row order. Option B is not correct because merging queries before filtering typically increases the work done on larger, unfiltered datasets; filtering first reduces the rows that must be joined.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.