Overview
Prepare the data is the first stage of the Power BI workflow and 25–30% of the PL-300 exam. It has three objective groups. Getting or connecting to data covers identifying and connecting to data sources and shared semantic models, changing data source settings such as credentials and privacy levels, choosing between DirectLake, DirectQuery and Import storage modes, and creating parameters. Profiling and cleaning covers evaluating data with column statistics and properties and resolving inconsistencies, null values, quality issues and import errors. Transforming and loading covers selecting column data types, creating and transforming columns, grouping and aggregating, pivoting and unpivoting, converting semi-structured data to tables, building fact and dimension tables, using reference versus duplicate queries, merging and appending, creating keys for relationships, and configuring data loading.
Most of this work happens in Power Query. The exam rewards knowing how to connect appropriately, choose the right storage mode, clean messy data, and shape it into a well-structured model-ready form.
How it's tested
PL-300 questions are scenario-based and hands-on, often describing a data situation and asking which Power Query transformation, connection or storage mode to use. In this domain they describe a source, quality issue or shaping need and reward the correct Power Query step or storage decision. Read the scenario for the specific preparation task.
-
Right storage mode
A data-size, freshness or source scenario is described, and you choose Import, DirectQuery or DirectLake.
-
Clean the data
A quality issue is described, and you choose the profiling or cleaning step to resolve it.
-
Shape with Power Query
A transformation need is described, and you choose the correct Power Query operation.
A report must show near real-time data from a very large source that cannot fit in memory, and users need the latest values on each interaction. Importing the data would cache a snapshot and not reflect live changes, and may not fit. DirectQuery leaves the data in the source and queries it live on each interaction, meeting the freshness and size requirement, so DirectQuery is the storage mode the exam expects for live, large-source scenarios.
Functional groups 3
Official functional groups from the Microsoft outline, in outline order.
1.1 Get or connect to data sources and choose a storage modeConnecting to sources, credentials, privacy levels, storage modes and parameters.
- What it means
- This covers identifying and connecting to data sources or a shared semantic model, changing data source settings including credentials and privacy levels, choosing between DirectLake, DirectQuery and Import storage modes, and creating and modifying parameters.
- What to understand
- Power BI connects to many sources, and the storage mode is a key decision: Import caches data in memory for fast performance, DirectQuery queries the source live for freshness and large data, and DirectLake (in Fabric) reads directly from a lakehouse for both scale and performance. Credentials and privacy levels govern access and data combination, and parameters make connections flexible. Choosing the right mode for the scenario is central.
- How it shows up
- A source, size or freshness scenario is described, and you must choose the connection or storage mode.
- Common confusion
- Confusing Import (cached snapshot) with DirectQuery (live query); Import is faster but not live, DirectQuery is live but can be slower.
1.2 Profile and clean the dataEvaluating data quality and resolving issues.
- What it means
- This covers evaluating data using data statistics and column properties (such as column quality, distribution and profile), resolving inconsistencies, unexpected or null values and data quality issues, and resolving data import errors.
- What to understand
- Before transforming, you profile the data to understand its quality, using Power Query's column quality, column distribution and column profile tools to spot errors, nulls and outliers. You then clean it: replacing or removing nulls, fixing inconsistencies, and resolving import errors. Clean data prevents problems in the model and visuals. Profiling first, then cleaning, is the disciplined approach.
- How it shows up
- A data quality issue is described, and you must choose the profiling or cleaning step.
- Common confusion
- Cleaning data without profiling first, or confusing the column quality, distribution and profile views.
1.3 Transform and load the data with Power QueryShaping columns, rows, queries, and building fact and dimension tables.
- What it means
- This covers selecting appropriate column data types, creating and transforming columns, grouping and aggregating rows, pivoting, unpivoting and transposing, converting semi-structured data to tables, creating fact and dimension tables, choosing reference versus duplicate queries, merging and appending queries, creating keys for relationships, and configuring data loading.
- What to understand
- Power Query shapes raw data into model-ready tables. Setting correct data types is essential, and operations like unpivot, group and merge restructure data. Building fact tables (events and measures) and dimension tables (descriptive attributes) prepares a star schema. Reference queries point to another query's result while duplicate queries copy its steps, and merge joins tables while append stacks them. Configuring whether a query loads controls what reaches the model.
- How it shows up
- A shaping or structuring need is described, and you must choose the Power Query transformation or query type.
- Common confusion
- Confusing reference with duplicate queries, or merge (join) with append (stack).
High-yield concepts
The terms, rules and formulas this domain turns into questions most often.
-
Import vs. DirectQuery vs. DirectLake
Cached in memory, live query, or direct lakehouse read.
- Remember
- Import is fast, DirectQuery is live, DirectLake scales in Fabric.
- Tested as
- Storage mode questions.
- Trap
- Confusing Import with DirectQuery.
-
Privacy levels
Govern how data from different sources may combine.
- Remember
- They protect against unintended data leakage.
- Tested as
- Connection questions.
- Trap
- Overlooking privacy levels when combining sources.
-
Parameters
Reusable values that make queries flexible.
- Remember
- Use them for source paths and filters.
- Tested as
- Connection questions.
- Trap
- Hard-coding values instead of using parameters.
-
Column profiling tools
Column quality, distribution and profile.
- Remember
- Profile before cleaning.
- Tested as
- Profiling questions.
- Trap
- Confusing the three profiling views.
-
Handling nulls and errors
Replacing, removing or resolving bad values.
- Remember
- Fix quality issues before loading.
- Tested as
- Cleaning questions.
- Trap
- Loading uncleaned data.
-
Data types
Correct types for each column.
- Remember
- Set types early; they affect the model.
- Tested as
- Transformation questions.
- Trap
- Leaving incorrect types.
-
Unpivot
Turns columns into rows for a normalized shape.
- Remember
- Use it to tidy wide, cross-tab data.
- Tested as
- Transformation questions.
- Trap
- Keeping data in a wide, unmodelable shape.
-
Fact vs. dimension tables
Events and measures versus descriptive attributes.
- Remember
- They form a star schema.
- Tested as
- Structuring questions.
- Trap
- Confusing the two table types.
-
Reference vs. duplicate query
Points to a query's result versus copies its steps.
- Remember
- Reference links; duplicate copies.
- Tested as
- Query questions.
- Trap
- Confusing the two.
-
Merge vs. append
Join tables by key versus stack rows.
- Remember
- Merge joins; append stacks.
- Tested as
- Query questions.
- Trap
- Confusing merge with append.
-
Configure data loading
Whether a query loads to the model.
- Remember
- Disable load for staging queries.
- Tested as
- Loading questions.
- Trap
- Loading unnecessary staging queries.
Side by side
Concepts candidates mix up, compared on the point that decides the answer.
Import vs. DirectQuery vs. DirectLake
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Import | Data cached in memory | Fast, but a snapshot | Expecting live data |
| DirectQuery | Queries the source live | Live, but can be slower | Expecting Import-level speed |
| DirectLake | Reads directly from a Fabric lakehouse | Scale and performance | Confusing with DirectQuery |
Reference vs. duplicate query
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Reference | Points to another query's output | Linked; updates flow through | Confusing with duplicate |
| Duplicate | Copies the query's steps | Independent copy | Confusing with reference |
Merge vs. append
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Merge | Joins tables on a key | Adds columns | Confusing with append |
| Append | Stacks tables' rows | Adds rows | Confusing with merge |
Exam traps
Each trap is an answer that looks right. Learn the clue that should change your mind.
-
Import for live data
- What candidates pick
- Use Import mode when near real-time data is required.
- Why it looks right
- Import is fast and familiar.
- Why it's wrong
- Import caches a snapshot that only updates on refresh; DirectQuery queries the source live for near real-time needs.
Clue to watch for The report must reflect the latest data on each interaction.
-
DirectQuery for best speed
- What candidates pick
- Use DirectQuery when fast interactive performance on a moderate dataset is the priority.
- Why it looks right
- It avoids importing data.
- Why it's wrong
- Import caches data in memory for the fastest performance; DirectQuery can be slower because it queries the source each time.
Clue to watch for Performance matters and the data fits in memory.
-
Append to join tables
- What candidates pick
- Use append to add columns from a related table by a key.
- Why it looks right
- Both combine queries.
- Why it's wrong
- Append stacks rows from similar tables; merge joins tables on a key to add columns.
Clue to watch for You need to add related columns using a matching key.
-
Duplicate when reference fits
- What candidates pick
- Duplicate a query when you want changes to the base query to flow through.
- Why it looks right
- Both create another query.
- Why it's wrong
- A reference query links to the base query so changes flow through; a duplicate is an independent copy.
Clue to watch for Changes to the source query should propagate.
-
Skip profiling
- What candidates pick
- Begin cleaning without profiling the data first.
- Why it looks right
- It seems faster.
- Why it's wrong
- Profiling with column quality, distribution and profile reveals the issues to clean; skipping it misses problems.
Clue to watch for The data quality is unknown before cleaning.
-
Wide data unmodeled
- What candidates pick
- Load cross-tab data with many value columns directly into the model.
- Why it looks right
- It matches the source layout.
- Why it's wrong
- Unpivoting turns those columns into rows, giving a normalized shape that models and aggregates correctly.
Clue to watch for The data has repeated value columns like months across the top.
Answer framework
For any Domain 1 data-preparation scenario, use these steps to find the answer PL-300 expects.
- Identify the source and requirements, then choose the storage mode: Import for speed, DirectQuery for live or very large data, and DirectLake for scale in Fabric.
- Set credentials and privacy levels appropriately, and use parameters to keep connections flexible.
- Profile the data with column quality, distribution and profile before cleaning, then resolve nulls, inconsistencies and import errors.
- Transform in Power Query: set correct data types, shape columns and rows, and unpivot wide data into a normalized form.
- Build fact and dimension tables and relationship keys, choosing reference versus duplicate queries and merge versus append correctly, and configure which queries load.
Practice question
Want more like this? The PL-300 practice test has questions for every domain.
Checklist
0 of 10
Tick each one you can do without notes. Your ticks stay in this browser.
Study strategy
This is a hands-on Power Query domain, so practice in Power BI Desktop with real, messy data rather than only reading. Start with the storage-mode decision, which is heavily tested: learn when Import, DirectQuery and DirectLake each fit, and fix the Import-versus-DirectQuery trade-off (speed versus live data) firmly.
Then practice profiling, using column quality, distribution and profile to find issues before cleaning, and the cleaning steps for nulls, inconsistencies and errors. Spend the most time on Power Query transformations, since they recur throughout: data types, unpivot, group, merge versus append, reference versus duplicate queries, and building fact and dimension tables for a star schema.
Because the exam tests doing, shape a real dataset end to end from a raw source to clean, typed, model-ready tables. Afterwards, move to Domain 2, Model the data, which builds the model on this prepared data. Because PL-300 is hands-on, practice every task in Power BI Desktop and the Power BI service with real data rather than only reading, and review missed practice questions by domain to find weak spots.
FAQ
How much of PL-300 is Domain 1?
Prepare the data is 25–30% of the exam, one of three equally weighted largest domains, and the foundation of every Power BI solution.
What is the difference between Import and DirectQuery?
Import caches a snapshot of the data in memory for the fastest performance, updating only on refresh. DirectQuery leaves the data in the source and queries it live on each interaction, giving near real-time data and handling very large datasets, but can be slower.
What is DirectLake?
A storage mode in Microsoft Fabric that reads data directly from a lakehouse, aiming to combine the scale of DirectQuery with performance closer to Import. It is newer content in the current PL-300 outline.
What is the difference between a reference and a duplicate query?
A reference query points to another query's output, so changes to the base query flow through. A duplicate query copies the base query's steps into an independent query that does not update when the base changes.
What is the difference between merge and append?
Merge joins two tables on a matching key to add columns, like a SQL join. Append stacks the rows of similar tables on top of each other to add rows, like a union.
Why profile data before cleaning?
Profiling with column quality, distribution and profile reveals errors, nulls, outliers and inconsistencies, so you know what to clean. Cleaning without profiling first risks missing quality issues that break the model.
How does Domain 1 connect to the rest of the exam?
The clean, well-shaped tables prepared here are the input to the data model in Domain 2, which is visualized in Domain 3 and managed and secured in Domain 4.
Test your Domain 1 knowledge
You have covered connecting to data, storage modes, profiling, cleaning and Power Query transformations. Test whether you can prepare data correctly under exam conditions.
Keep going
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the PL-300 AI tutor Get any concept explained your way