Courseiva
Prepare the datamediumMultiple ChoiceObjective-mapped

PL-300 Prepare the data Practice Question

You are building a Power BI report for a manufacturing company. You have a large fact table with 50 million rows in Azure SQL Database. You need to minimize the data refresh time and ensure that only new or changed rows are loaded. The source table has a LastModifiedDate column. What should you do?

⚠ Common exam trap

Candidates often confuse query folding with incremental refresh, thinking that enabling query folding alone will automatically load only new rows, but query folding only optimizes the pushdown of existing filters—it does not create the filtering logic needed for incremental loading.

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

Configure incremental refresh on the table using the LastModifiedDate column.

Incremental refresh in Power BI allows you to load only new or changed rows from a large fact table by filtering on a date/time column such as LastModifiedDate. This minimizes data refresh time by avoiding a full reload of all 50 million rows, and it leverages the source system's ability to efficiently query only the modified data. Power Query pushes the filter logic to Azure SQL Database via query folding, ensuring optimal 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.

  • Enable query folding in Power Query to push filters to the source.

    Why it's wrong here

    Enabling query folding in Power Query pushes transformations and filters to the source database, which can improve query performance by using the source engine's indexes and processing. However, it does not reduce the baseline volume of data that must be transferred and stored when the table has 50 million rows. You still need to load all rows or at least a filtered subset, and the stated requirement is to keep the entire dataset available while refreshing quickly. Therefore, query folding is a performance optimization, not a solution to the need for incremental data loads.

  • Configure incremental refresh on the table using the LastModifiedDate column.

    Why this is correct

    Configuring incremental refresh on the LastModifiedDate column is the correct approach because it partitions the table by date ranges and only queries partitions that contain new or changed rows since the last refresh. Power BI stores a rolling window of historical partitions and creates new partitions for each refresh period, drastically reducing the amount of data read from the source and the time required. To implement this, you must define RangeStart and RangeEnd parameters in Power Query and set the incremental refresh policy in the dataset. This directly addresses the challenge of a 50-million-row table that needs near-real-time updates without re-loading the entire table each time.

  • Schedule a full refresh every hour.

    Why it's wrong here

    Scheduling a full refresh every hour loads all 50 million rows from the source on each refresh, which is inefficient and could easily exceed refresh time limits in Power BI, especially on shared or Pro capacities. This approach also places unnecessary load on the source database and consumes significant storage I/O, CPU, and network bandwidth. Moreover, after the first full refresh, subsequent refreshes repeat the same heavy extraction, whereas the desired behavior is to load only records modified within the last hour. Thus, hourly full refresh is neither scalable nor aligned with the requirement to optimize performance for a large table.

  • Create a Power BI dataflow that performs a full load and then use that dataflow as a source.

    Why it's wrong here

    Creating a Power BI dataflow that performs a full load and then using that dataflow as a source adds an extra layer without solving the core problem: the dataflow itself still processes and stores all 50 million rows on every refresh. The dataflow has its own refresh schedule and may need a premium capacity for big data scenarios, but it will still push the full dataset into Power BI, causing similar performance bottlenecks. It also introduces additional latency and maintenance overhead because you must manage the dataflow's refresh and then the dataset's refresh separately. This approach does not provide incremental loading and is therefore not an appropriate solution for reducing refresh time on a large table.

About these practice questions

Courseiva writes every PL-300 question from scratch — 217 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.