PL-300: Power BI Data Analyst — Exam Prep for Developers
A preparation course for Microsoft exam PL-300 (Microsoft Power BI Data Analyst), written for senior developers in Big 4 and other professional-services firms who already think in SQL and code — and keep getting surprised by DAX. The course follows the official skills outline (April 2026 revision) with its four domains and weights: prepare the data (25–30%), model the data (25–30%), visualize and analyze the data (25–30%), and manage and secure Power BI (15–20%). It covers what the 2026 updates added: Direct Lake, calculation groups, visual calculations, DAX query view and Copilot in Power BI. The spine of the course is the shift from SQL thinking to DAX thinking: filter context, row context, CALCULATE and context transition, taught with small models you can compute in your head before you check them in Power BI Desktop. Every topic follows the same order: the pain, the solution, and what it costs — memory, refresh time, query latency, licences or security risk. Labs run in Power BI Desktop (free) on a synthetic Aldervane Advisory LLP dataset — timesheets, invoices with three role-playing dates, month-end WIP balances and a nested JSON export — published on GitHub. Service features (workspaces, apps, RLS, refresh) are shown step by step, with a free route to a sandbox tenant and a read-the-screenshots path for learners whose corporate tenant blocks publishing. Practice uses the formats of the real exam: single and multiple choice, matching, Yes/No statement sets, "what does this measure return in this cell" and DAX completion. Isotype-style pictures summarise one idea each. Optional units cover PBIP/TMDL and Git, a SQL-to-DAX phrasebook, client-confidentiality patterns and the bridge to Microsoft Fabric.
Path through the course
· 28 unitsthe order is free · the steps below are the order the author suggests, not a conditionView: map · steps
Stage 1
~1.5 h
1 · Start
Exam map and the Power BI landscape
~1.5 h
Stage 2
~6 h
by the author’s design, after “Exam map and the Power BI landscape”
2 · Domain 1 · Prepare the data
Connect to data: sources, shared semantic models, credentials and parameters
~2 h
3 · Domain 1 · Prepare the data
Storage modes: Import, DirectQuery and Direct Lake
~2 h
21 · Domain 4 · Manage and secure Power BI
Workspaces, apps, publishing and distribution
~2 h
Stage 3
~8.5 h
4 · Domain 1 · Prepare the data · by the author’s design, after “Connect to data: sources, shared semantic models, credentials and parameters”
~2 h
22 · Domain 4 · Manage and secure Power BI · by the author’s design, after “Workspaces, apps, publishing and distribution”
Gateways and scheduled refresh
~2 h
23 · Domain 4 · Manage and secure Power BI · by the author’s design, after “Workspaces, apps, publishing and distribution”
Security and governance: roles, item access, RLS and sensitivity labels
~2.5 h
28 · Optional · Fabric · by the author’s design, after “Storage modes: Import, DirectQuery and Direct Lake”
Bridge to Microsoft Fabric: lakehouse, Direct Lake and the road to DP-600
~2 h
Stage 4
~7.5 h
5 · Domain 1 · Prepare the data · by the author’s design, after “Profile and clean the data”
Transform I: types, columns, grouping, pivoting and JSON
~2.5 h
24 · Exam rehearsal · by the author’s design, after “Security and governance: roles, item access, RLS and sensitivity labels”
Exam rehearsal: a case study, time management and traps
~3 h
27 · Optional · Aldervane · by the author’s design, after “Security and governance: roles, item access, RLS and sensitivity labels”
Aldervane: client confidentiality in Power BI
~2 h
Stage 5
~2 h
6 · Domain 1 · Prepare the data · by the author’s design, after “Transform I: types, columns, grouping, pivoting and JSON”
Transform II: merge, append, reference vs duplicate, keys and load settings
~2 h
Stage 6
~2 h
7 · Domain 2 · Model the data · by the author’s design, after “Transform II: merge, append, reference vs duplicate, keys and load settings”
Star schema: facts, dimensions and table properties
~2 h
Stage 7
~10 h
by the author’s design, after “Star schema: facts, dimensions and table properties”
8 · Domain 2 · Model the data
Relationships: cardinality, cross-filter direction and role-playing dimensions
~2.5 h
9 · Domain 2 · Model the data
~1.5 h
10 · Domain 2 · Model the data
DAX I: measures, calculated columns and evaluation context
~2 h
15 · Domain 3 · Visualize and analyze data
Build the report: visuals, formatting, themes, filters and paginated reports
~2 h
25 · Optional · For developers
Developer mode: PBIP, TMDL, Git integration and deployment pipelines
~2 h
Stage 8
~11.5 h
11 · Domain 2 · Model the data · by the author’s design, after “DAX I: measures, calculated columns and evaluation context”
DAX II: CALCULATE and context transition
~2.5 h
14 · Domain 2 · Model the data · by the author’s design, after “DAX I: measures, calculated columns and evaluation context”
~2 h
17 · Domain 3 · Visualize and analyze data · by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”
~2 h
18 · Domain 3 · Visualize and analyze data · by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”
Storytelling: bookmarks, tooltips, interactions, navigation and drillthrough
~2.5 h
20 · Domain 3 · Visualize and analyze data · by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”
Analyze: patterns, trends, outliers and AI visuals
~2.5 h
Stage 9
~8 h
12 · Domain 2 · Model the data · by the author’s design, after “A common date table”, “DAX II: CALCULATE and context transition”
DAX III: time intelligence, semi-additive measures, statistics and quick measures
~2.5 h
16 · Domain 3 · Visualize and analyze data · by the author’s design, after “DAX II: CALCULATE and context transition”
~1.5 h
19 · Domain 3 · Visualize and analyze data · by the author’s design, after “Storytelling: bookmarks, tooltips, interactions, navigation and drillthrough”
Usability: mobile, personalization, accessibility, export and page refresh
~2 h
26 · Optional · For developers · by the author’s design, after “DAX II: CALCULATE and context transition”
~2 h
Stage 10
~2 h
13 · Domain 2 · Model the data · by the author’s design, after “DAX III: time intelligence, semi-additive measures, statistics and quick measures”
~2 h
Exam
closed · enrol on the course
final · in the browser, without the assistant
Exam
The path in words
- Stage 1 · Exam map and the Power BI landscape — ~1.5 h
- Stage 2 · Connect to data: sources, shared semantic models, credentials and parameters — by the author’s design, after “Exam map and the Power BI landscape”; ~2 h
- Stage 2 · Storage modes: Import, DirectQuery and Direct Lake — by the author’s design, after “Exam map and the Power BI landscape”; ~2 h
- Stage 2 · Workspaces, apps, publishing and distribution — by the author’s design, after “Exam map and the Power BI landscape”; ~2 h
- Stage 3 · Profile and clean the data — by the author’s design, after “Connect to data: sources, shared semantic models, credentials and parameters”; ~2 h
- Stage 3 · Gateways and scheduled refresh — by the author’s design, after “Workspaces, apps, publishing and distribution”; ~2 h
- Stage 3 · Security and governance: roles, item access, RLS and sensitivity labels — by the author’s design, after “Workspaces, apps, publishing and distribution”; ~2.5 h
- Stage 3 · Bridge to Microsoft Fabric: lakehouse, Direct Lake and the road to DP-600 — by the author’s design, after “Storage modes: Import, DirectQuery and Direct Lake”; optional; ~2 h
- Stage 4 · Transform I: types, columns, grouping, pivoting and JSON — by the author’s design, after “Profile and clean the data”; ~2.5 h
- Stage 4 · Exam rehearsal: a case study, time management and traps — by the author’s design, after “Security and governance: roles, item access, RLS and sensitivity labels”; ~3 h
- Stage 4 · Aldervane: client confidentiality in Power BI — by the author’s design, after “Security and governance: roles, item access, RLS and sensitivity labels”; optional; ~2 h
- Stage 5 · Transform II: merge, append, reference vs duplicate, keys and load settings — by the author’s design, after “Transform I: types, columns, grouping, pivoting and JSON”; ~2 h
- Stage 6 · Star schema: facts, dimensions and table properties — by the author’s design, after “Transform II: merge, append, reference vs duplicate, keys and load settings”; ~2 h
- Stage 7 · Relationships: cardinality, cross-filter direction and role-playing dimensions — by the author’s design, after “Star schema: facts, dimensions and table properties”; ~2.5 h
- Stage 7 · A common date table — by the author’s design, after “Star schema: facts, dimensions and table properties”; ~1.5 h
- Stage 7 · DAX I: measures, calculated columns and evaluation context — by the author’s design, after “Star schema: facts, dimensions and table properties”; ~2 h
- Stage 7 · Build the report: visuals, formatting, themes, filters and paginated reports — by the author’s design, after “Star schema: facts, dimensions and table properties”; ~2 h
- Stage 7 · Developer mode: PBIP, TMDL, Git integration and deployment pipelines — by the author’s design, after “Star schema: facts, dimensions and table properties”; optional; ~2 h
- Stage 8 · DAX II: CALCULATE and context transition — by the author’s design, after “DAX I: measures, calculated columns and evaluation context”; ~2.5 h
- Stage 8 · Optimize model performance — by the author’s design, after “DAX I: measures, calculated columns and evaluation context”; ~2 h
- Stage 8 · Copilot in Power BI — by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”; ~2 h
- Stage 8 · Storytelling: bookmarks, tooltips, interactions, navigation and drillthrough — by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”; ~2.5 h
- Stage 8 · Analyze: patterns, trends, outliers and AI visuals — by the author’s design, after “Build the report: visuals, formatting, themes, filters and paginated reports”; ~2.5 h
- Stage 9 · DAX III: time intelligence, semi-additive measures, statistics and quick measures — by the author’s design, after “A common date table”, “DAX II: CALCULATE and context transition”; ~2.5 h
- Stage 9 · Visual calculations — by the author’s design, after “DAX II: CALCULATE and context transition”; ~1.5 h
- Stage 9 · Usability: mobile, personalization, accessibility, export and page refresh — by the author’s design, after “Storytelling: bookmarks, tooltips, interactions, navigation and drillthrough”; ~2 h
- Stage 9 · SQL to DAX phrasebook — by the author’s design, after “DAX II: CALCULATE and context transition”; optional; ~2 h
- Stage 10 · Calculation groups — by the author’s design, after “DAX III: time intelligence, semi-additive measures, statistics and quick measures”; ~2 h
Programme · 28 units
| 1 | Exam map and the Power BI landscape Describe the PL-300 exam: four domains and their weights, time, pass mark, question formats, case studies and Microsoft Learn access during the exam | ~1.5 h |
| 2 | Connect to data: sources, shared semantic models, credentials and parameters Connect to files, databases and the Aldervane CSV/JSON files, and recognise the M function each connector writes into the Source step | ~2 h |
| 3 | Storage modes: Import, DirectQuery and Direct Lake Explain where the data is at query time in Import, DirectQuery and Direct Lake, and how each one gets fresh data (refresh, live queries, framing) | ~2 h |
| 4 | Profile and clean the data Use column quality, column distribution and column profile to evaluate data, and switch profiling from the top 1 000 rows to the entire data set | ~2 h |
| 5 | Transform I: types, columns, grouping, pivoting and JSON Select appropriate data types in Power Query, including Fixed decimal number for money, Text for codes, and a correct conversion of yyyymmdd numbers to dates | ~2.5 h |
| 6 | Transform II: merge, append, reference vs duplicate, keys and load settings Choose the right Power Query join kind (left/right/full outer, inner, left/right anti) for a requirement and predict the row count of a merge | ~2 h |
| 7 | Star schema: facts, dimensions and table properties Classify tables as facts or dimensions, state each fact table's grain, and recognise transaction, periodic snapshot and factless (bridge) facts | ~2 h |
| 8 | Relationships: cardinality, cross-filter direction and role-playing dimensions Choose the cardinality of a relationship (one-to-many, one-to-one, many-to-many) from the uniqueness of the columns and the grain of the tables | ~2.5 h |
| 9 | A common date table Explain why one shared (common) date table should filter every fact table, and what auto date/time does instead | ~1.5 h |
| 10 | DAX I: measures, calculated columns and evaluation context Create single aggregation measures with SUM, AVERAGE, MIN, MAX, COUNTROWS, DISTINCTCOUNT and DIVIDE, and predict their value in any cell from the cell's filter context | ~2 h |
| 11 | DAX II: CALCULATE and context transition Predict the result of a CALCULATE measure in any cell of a visual by stating the cell's filter context first | ~2.5 h |
| 12 | DAX III: time intelligence, semi-additive measures, statistics and quick measures Write fiscal year-to-date, prior-year, period-shift and rolling-window measures with TOTALYTD/DATESYTD (year end "06-30"), SAMEPERIODLASTYEAR, DATEADD, PARALLELPERIOD and DATESINPERIOD, and predict their value in any month | ~2.5 h |
| 13 | Calculation groups Explain the measure explosion that calculation groups solve and when a calculation group is the right tool instead of separate measures or field parameters | ~2 h |
| 14 | Optimize model performance Explain in VertiPaq terms why model size depends on the number of distinct values per column more than on the number of rows | ~2 h |
| 15 | Build the report: visuals, formatting, themes, filters and paginated reports Select an appropriate visual for a stated business question (comparison, trend, composition, distribution, relationship, single value, detail) | ~2 h |
| 16 | Visual calculations Explain what a visual calculation is, where it is stored, and what it can and cannot reference | ~1.5 h |
| 17 | Copilot in Power BI State the requirements for Copilot in Power BI: paid Fabric F2+ or Premium P1+ capacity (no trial), Fabric Copilot capacity, the tenant setting, the cross-region setting and Q&A for page creation | ~2 h |
| 18 | Storytelling: bookmarks, tooltips, interactions, navigation and drillthrough Configure bookmarks with the Data, Display, Current page and Selected visuals options, and build a show/hide switch that does not reset the user's filters | ~2.5 h |
| 19 | Usability: mobile, personalization, accessibility, export and page refresh Design a mobile layout for a report page and explain when the mobile apps show it | ~2 h |
| 20 | Analyze: patterns, trends, outliers and AI visuals Use the Analyze feature (explain the increase or decrease, find where the distribution is different) and name where it does not run | ~2.5 h |
| 21 | Workspaces, apps, publishing and distribution Create and configure a workspace, including licence mode and contact list, and explain what a workspace is for | ~2 h |
| 22 | Gateways and scheduled refresh Decide for any data source whether a refresh in the Power BI service needs a gateway, and which kind: on-premises data gateway (standard mode), personal mode or virtual network data gateway | ~2 h |
| 23 | Security and governance: roles, item access, RLS and sensitivity labels Assign the least-privileged workspace role (Admin, Member, Contributor, Viewer) for a given job, and know which roles row-level security restricts | ~2.5 h |
| 24 | Exam rehearsal: a case study, time management and traps Describe the PL-300 exam format that matters for planning: question count range, exam and seat time, question types, case studies, breaks and the 700 passing score | ~3 h |
| 25 | Developer mode: PBIP, TMDL, Git integration and deployment pipelines Save a Power BI Desktop file as a Power BI Project (PBIP) and name what each folder and file holds, including what Git should ignore | ~2 h |
| 26 | SQL to DAX phrasebook Translate WHERE, GROUP BY, HAVING, COUNT DISTINCT and CASE into DAX measures and DAX queries, and say who does the grouping in a report (the visual, not the measure) | ~2 h |
| 27 | Aldervane: client confidentiality in Power BI Design dynamic row-level security from a security table (engagement team membership) instead of a single partner column, and predict what a given user sees | ~2 h |
| 28 | Bridge to Microsoft Fabric: lakehouse, Direct Lake and the road to DP-600 Place OneLake, lakehouse (Tables and Files), SQL analytics endpoint, warehouse, shortcuts and semantic models on one architecture picture, and say which engine writes and which reads | ~2 h |
