Question 417 of 966
Prepare the datamediumMultiple ChoiceObjective-mapped

Quick Answer

The correct answer is that the filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred. This is because Power Query loads all source data into memory before applying its own transformations, so filtering later in the M code means unnecessary rows are still pulled across the network and stored in the Power BI data model. By pushing filters to SQL Server, you leverage the database engine’s processing power and minimize memory consumption and network latency—a core principle of query folding. On the PL-300 exam, this concept tests your understanding of performance optimization in data loading, often appearing as a trap where candidates overlook that a downstream Power Query filter can be folded upstream into the SQL query. A common memory tip is “fold early, fold often”—if a filter can be pushed to the source, do it there first to keep your data pipeline lean and fast.

PL-300 Prepare the data Practice Question

This PL-300 practice question tests your understanding of prepare the data. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Exhibit

Refer to the exhibit.
```
let
    Source = Sql.Database("server.database.windows.net", "AdventureWorks", [Query="SELECT * FROM Sales.SalesOrderDetail WHERE ModifiedDate > '2024-01-01'"]),
    #"Filtered Rows" = Table.SelectRows(Source, each [OrderQty] > 10),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ProductID"}, {{"TotalQty", each List.Sum([OrderQty]), type number}})
in
    #"Grouped Rows"
```

You are reviewing a Power Query that imports data from SQL Server. The exhibit shows the M code. The SQL query filters records after a date, then Power Query filters rows with OrderQty > 10, and then groups by ProductID. What is a potential performance issue with this approach?

Question 1mediummultiple choice
Full question →

Exhibit

Refer to the exhibit.
```
let
    Source = Sql.Database("server.database.windows.net", "AdventureWorks", [Query="SELECT * FROM Sales.SalesOrderDetail WHERE ModifiedDate > '2024-01-01'"]),
    #"Filtered Rows" = Table.SelectRows(Source, each [OrderQty] > 10),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ProductID"}, {{"TotalQty", each List.Sum([OrderQty]), type number}})
in
    #"Grouped Rows"
```

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

The filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred.

Option C is correct because pushing the `OrderQty > 10` filter into the SQL query reduces the amount of data transferred from SQL Server to Power Query. In Power Query, data is loaded into memory before transformations; filtering earlier in the source query minimizes memory usage and network latency, which is a key performance optimization in Power BI data loading.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

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

  • The query will fail because the SQL query uses '>' with a string.

    Why it's wrong here

    The date is a string literal, which is valid in SQL.

  • The SQL query should use a parameter for the date instead of a hardcoded value.

    Why it's wrong here

    Hardcoding is not a performance issue, though it's less flexible.

  • The filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred.

    Why this is correct

    Filtering in SQL reduces data load; currently, all rows after the date are loaded.

    Related concept

    Read the scenario before looking for a memorised answer.

  • The grouping should be done in SQL to reduce data volume.

    Why it's wrong here

    Grouping in SQL would also reduce data, but the current approach is valid; the main issue is the filter.

Common exam traps

Common exam trap: answer the scenario, not the keyword

The trap here is that candidates focus on the date filter or grouping as the main performance issue, but the most impactful optimization is moving the row-level filter (`OrderQty > 10`) into the SQL query to reduce data transfer, which is a classic 'query folding' concept in Power Query.

Detailed technical explanation

How to think about this question

Power Query uses query folding to push transformations back to the source when possible, but explicit filters applied after the SQL query (like `Table.SelectRows`) may not fold if the source query is already a native query. In this case, the `OrderQty > 10` filter is applied in Power Query, meaning all rows from the SQL result are transferred and then filtered in memory, which can be inefficient for large datasets. A real-world scenario: if the SQL query returns 10 million rows and only 100,000 have `OrderQty > 10`, the network transfer and memory load are 100x higher than necessary.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A healthcare organisation deploys an application with a public-facing web tier and a private database tier. The database subnet has no public IP and only accepts connections from the web tier's security group. Questions like this test whether you can design cloud network isolation using VNets/VPCs, subnets, and security group rules.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related PL-300 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free PL-300 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this PL-300 question test?

Prepare the data — This question tests Prepare the data — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: The filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred. — Option C is correct because pushing the `OrderQty > 10` filter into the SQL query reduces the amount of data transferred from SQL Server to Power Query. In Power Query, data is loaded into memory before transformations; filtering earlier in the source query minimizes memory usage and network latency, which is a key performance optimization in Power BI data loading.

What should I do if I get this PL-300 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 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. You are troubleshooting a Power Query transformation that groups sales data by ProductID. The query runs slowly and you suspect the filter is being applied after loading all rows. What change would improve performance by pushing the filter to the source?

hard
  • A.Disable the 'Enable load' option for the SalesTable
  • B.Use CALCULATE in DAX to filter
  • C.Add a 'Table.Buffer' step after the filter
  • D.Replace the first three lines with a native SQL query that includes the WHERE clause

Why D: Option D is correct because pushing filter logic to the source database via a native SQL query with a WHERE clause reduces the amount of data loaded into Power Query. This leverages query folding, which allows the source (e.g., SQL Server) to perform the filtering before data is transferred, significantly improving performance for large datasets.

Keep practising

More PL-300 practice questions

Last reviewed: Jun 24, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

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.