PL-300 Prepare the data Practice Question
You have a Power Query query that loads data from an OData source. You need to reduce the amount of data loaded into the data model. What is the best practice?
⚠ Common exam trap
It's easy for candidates to confuse filtering in the data model (DAX) with filtering during data ingestion (Power Query), assuming both reduce data volume equally, but only Power Query filters reduce the actual data loaded into memory.
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
✓
Apply a filter in Power Query before loading.
Applying filters in Power Query before loading data into the data model is the best practice for reducing data volume. Power Query pushes filters down to the OData source using OData query parameters (e.g., $filter), ensuring only the required rows are retrieved from the source. This minimizes network transfer and memory usage in the data model, aligning with the principle of early filtering in the ETL process.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Apply a filter in the data model using DAX.
Why it's wrong here
DAX filters are applied at report/query time inside the data model, after the data has already been loaded into memory. This means the full table is still imported and VertiPaq still compresses and stores every row; the filter merely restricts what the report displays or aggregates. As a result, DAX does not reduce the data volume loaded into the model, so it cannot address an oversized dataset at import time.
- ✗
Use 'Enable load' option to turn off loading for the query.
Why it's wrong here
Disabling the 'Enable load' option removes the query result from the data model entirely, so no data from that query is available for reporting. While this avoids loading any data, it is an all-or-nothing switch — it does not allow you to preserve a subset of rows or columns. If you still need some portion of the data, you must instead apply a transformation or filter in Power Query so that only the required rows are loaded.
- ✓
Apply a filter in Power Query before loading.
Why this is correct
Applying a filter in Power Query before the data is loaded reduces the number of rows that are imported into the data model. For OData sources, the filter can often be folded into the native query sent to the server, so only matching rows traverse the network and are stored in VertiPaq. This lowers memory usage, improves refresh time, and shrinks the model footprint — the correct way to reduce data volume.
- ✗
Load all data and then hide columns you don't need.
Why it's wrong here
Hiding columns in the data model only prevents them from being visible to report consumers in the Field list; it does not remove them from the underlying table storage. The hidden columns are still imported, compressed, and occupy memory in VertiPaq, and they may still be used in calculations or relationships. Therefore, hiding columns has no effect on data volume and is not a legitimate technique for reducing the size of the model.
Go deeper
Related to this question
About these practice questions
One of 217 original PL-300 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
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.