Courseiva
Prepare the data →mediumMultiple Select

PL-300 Prepare the data Practice Question

Which THREE of the following are best practices when preparing data in Power BI for optimal performance?

⚠ Common exam trap

It's easy for candidates to think merging all tables simplifies the model (Option A) or that calculated columns are more efficient than measures (Option B), but Power BI's in-memory engine and query folding mechanics reward normalized star schemas and measure-based calculations for optimal 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

✓

Set correct data types for all columns.

Option C is correct because assigning the correct data types (for example, whole number, decimal, date/time, or text) to every column reduces memory usage in the VertiPaq engine, enables efficient compression, and prevents implicit conversions that slow down DAX calculations. Option D is correct because removing unnecessary columns and rows during import (ideally in Power Query before loading) shrinks the data model, lowers memory consumption, and speeds up refresh and query processing. Option E is correct because query folding translates Power Query transformations into native source queries (for example, SQL statements), letting the source database perform filtering, joins, and aggregations so less data is transferred and processed locally. Option A is not a best practice because merging all tables into one wide table creates redundancy, bloats the model, and destroys the star-schema relationships that Power BI optimizes for. Option B is not a best practice because calculated columns are computed and stored during refresh, consuming memory and increasing model size, whereas measures are evaluated at query time and are generally preferred for aggregations.

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 tables into a single table for simplicity.

    Why it's wrong here

    Merging all tables into a single table eliminates the benefits of a star schema, forcing repeated data (denormalization) that increases model size and degrades query performance. It also risks row multiplication from many-to-many relationships and makes the model harder to maintain. As a best practice, keep dimension tables separated from fact tables with relationships instead of merging everything.

  • ✗

    Create calculated columns instead of measures when possible.

    Why it's wrong here

    Calculated columns are physically stored in the VertiPaq engine at refresh time, consuming memory and slowing down the model, while measures are evaluated only when a query is executed and add no storage overhead. Creating calculated columns for aggregation logic is thus counterproductive; you should implement such logic as measures to maintain a lean and fast model.

  • ✓

    Set correct data types for all columns.

    Why this is correct

    Assigning correct data types (such as integer, decimal, and date) rather than generic text optimizes the compression algorithms in Power BI, leading to smaller model sizes and faster scan performance. It also ensures that DAX functions like SUM and DATE arithmetic behave predictably, and prevents implicit type conversions that can introduce errors or degrade performance.

  • ✓

    Remove unnecessary columns and rows during import.

    Why this is correct

    Filtering out unused columns and rows during import reduces the number of values that Power BI must store in the column dictionaries and data segments. This decreases the model's memory footprint, speeds up refresh, and improves DAX query times. The earlier you perform removals in the M query, the better, because downstream transformations process less data.

  • ✓

    Use query folding to push transformations to the data source.

    Why this is correct

    Query folding translates Power Query steps into a single SQL statement that runs entirely on the source system, using the source's indexes, memory, and query planner. This drastically reduces the volume of data sent to Power BI and avoids loading raw data into the Power Query engine, which can otherwise bottleneck performance. Not every transformation can be folded, so you should design foldable steps and check for folding indicators in Power Query.

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

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.