PL-300: Microsoft Power BI Data Analyst Study Guide
The PL-300: Microsoft Power BI Data Analyst exam validates your ability to prepare and model data, then visualize, analyze, deploy, and maintain Power BI assets. It is aimed at data analysts and BI professionals who clean and transform data in Power Query, build models with DAX, design reports, and manage content in the Power BI service. The exam is 120 minutes, has roughly 40-60 questions, and you need a scaled score of 700 (out of 1000) to pass.
Domain 1: Prepare the Data
- Query folding pushes Power Query transformations (filters, column selection, joins) back to the source as native SQL; folding happens with relational sources like SQL Server but breaks at steps using custom M functions or unsupported logic, after which everything runs locally in memory.
- Right-click a step and choose View Native Query to confirm whether that step (and the steps before it) folds; if the option is greyed out, folding has stopped.
- Adding a custom column with a complex M expression or a custom function breaks folding at that step and for all subsequent steps, forcing Power Query to pull all rows into memory.
- Unpivot Columns converts wide crosstab data (e.g., separate Jan/Feb/Mar columns) into a normalized two-column attribute/value shape; Pivot Columns does the reverse.
- Split Column by Delimiter divides one column into several using a chosen separator (e.g., a hyphen in '2024-Q1' yields Year and Quarter columns).
- Append Queries stacks rows from tables with the same schema (like SQL UNION); Merge Queries joins tables on matching key columns (like SQL JOIN).
- Power Query data profiling tools are Column Quality (percent valid/error/empty), Column Distribution (frequency and distinct/unique counts), and Column Profile; by default profiling samples only the first 1,000 rows but can be switched to the entire dataset.
- To keep a query as an intermediate step that is not loaded to the model, right-click it and uncheck Enable Load (commonly used for staging and reference queries).
- Use Replace Errors (Transform tab) to substitute error values, and Replace Values to swap specific cell contents; errors often come from non-numeric characters or a wrong regional decimal separator when changing data types.
- Reference an M parameter directly by its name (e.g., ServerName) with no prefix sigil; parameters let you change values like server or database name at refresh time without editing each step.
- Privacy levels (Public, Organizational, Private) control whether data from different sources can be combined; mismatched levels can block folding and the Formula Firewall may raise errors.
- Use the SharePoint Folder or Folder connector with Combine Files to consolidate many same-schema files; Power Query auto-generates a sample-file transform function applied to every binary.
- Dataflows store reusable Power Query transformation logic in the service, reducing redundancy and letting multiple datasets share centralized, independently managed data prep.
- Writing a native SQL query in the Get Data dialog (or using DirectQuery) lets you select only needed columns and rows at the source, minimizing data volume pulled into the model.
Domain 2: Model the Data
- A star schema centers a fact table surrounded by dimension tables joined directly to it; it is the recommended Power BI design because it minimizes joins, improves performance, and simplifies DAX.
- Relationships default to one-to-many, filtering from the one (dimension) side to the many (fact) side with single-direction cross-filtering.
- Only one relationship between two tables can be active at a time; create a second as inactive and activate it inside a measure with USERELATIONSHIP (e.g., to support both OrderDate and ShipDate against the Date table).
- Measures are evaluated at query time against the current filter context and are not stored; calculated columns are computed row by row at refresh and persisted in the model.
- Calculated columns can be used as slicers, filters, and visual axes; measures generally cannot serve as an axis or slicer field.
- A valid date table must contain a contiguous range of dates with no gaps and a column of Date or DateTime type, and should be marked as a date table to enable time intelligence.
- TOTALYTD aggregates from the start of the year to the current context date; SAMEPERIODLASTYEAR returns the equivalent period one year earlier; both rely on a proper date table.
- ALL removes filters from a column or table (e.g., ALL(Product[Category]) ignores category selections); it is commonly used to compute totals and denominators like percent-of-total.
- Set cross-filter direction to Both on the relationships connecting a bridge table so filters propagate across many-to-many patterns; use bidirectional filtering sparingly because it can cause ambiguity and performance issues.
- RANKX with the DENSE option avoids gaps in ranking numbers when ties occur, whereas the default leaves gaps after tied ranks.
- Row-level security requires two steps: define roles with DAX filter expressions in Power BI Desktop via Manage Roles, then assign users to those roles in the Power BI service after publishing.
- Reduce model size and improve performance by removing unnecessary fact-table columns, lowering cardinality of high-cardinality columns, and disabling auto date/time.
- Concatenate text with the & operator or CONCATENATE (e.g., FullName = FirstName & " " & LastName); CONCATENATE takes only two arguments while & chains many.
- Hide helper or key columns from report view (Model view) so consumers only see meaningful fields, and use a shared Date dimension related to each fact table at the appropriate grain for multi-fact models.
Domain 3: Visualize and Analyze the Data
- Edit interactions to set a visual's effect on others to None, Filter (default cross-filter for most visuals), or Highlight (default for charts) to control how clicking one visual affects the rest of the page.
- Drillthrough lets users right-click a data point and jump to a destination page automatically filtered to that point's context; configure it by adding the field to the Drillthrough well on the target page.
- The Q&A visual lets report consumers type natural-language questions on the canvas and returns an auto-generated visual answer from the model.
- The Analyze feature (Explain the increase/decrease) uses AI to identify factors that contributed to a change in a data point on supported visuals.
- The Decomposition Tree visual lets users interactively drill into a measure across multiple dimensions and can use AI to find the highest or lowest contributing category at each level.
- The Key Influencers visual identifies which factors most affect a chosen metric or outcome.
- Use the Top N filter on a visual to show only the highest or lowest N items by a measure; pair it with a DAX measure to display the remaining values as a single 'Others' category.
- The Analytics pane adds reference lines such as constant, average, min, max, median, percentile, and trend lines to supported visuals (lines must be added there, not in the Format pane).
- Sync Slicers lets a single slicer control multiple pages; in the Sync Slicers pane choose which pages the slicer is visible on and which it filters.
- Bookmarks capture report state including filters, slicer selections, visual visibility (show/hide), sort order, and current page, but they do not capture color or size changes; they power buttons and guided navigation.
- Conditional formatting on tables and matrices can set background color, font color, data bars, and icons by value, by rule (greater than, less than, contains), or by a DAX measure.
- A custom tooltip is built as a dedicated tooltip-type report page and assigned to a visual's Tooltip setting in the Format pane to show richer hover detail.
- Improve accessibility by adding alt text to visuals, ensuring tab order is logical, and using high-contrast color choices; the Line and clustered column chart is the standard combo chart for plotting a measure as columns and another (such as a target) as a line.
- Use a date slicer's Between (range) mode for selecting a date range with a slider; advanced text filters support conditions like contains, starts with, and is greater than.
Domain 4: Deploy and Maintain Assets
- Scheduled refresh applies to Import-mode datasets stored in the service; DirectQuery datasets query the live source on each interaction and do not need scheduled data refresh (though they may refresh tiles/metadata).
- Power BI Pro allows up to 8 scheduled refreshes per day per dataset; Premium and Premium Per User allow up to 48 per day.
- An on-premises data gateway (standard/enterprise mode) is required for scheduled refresh against on-premises sources; install one gateway and add a data source configuration for each source it serves; personal mode is single-user only.
- Incremental refresh loads only new or changed data using RangeStart and RangeEnd parameters defined in Power Query, greatly reducing refresh time for large, mostly historical tables.
- Use the Power BI REST API (e.g., the Refreshes endpoint) to trigger dataset refreshes programmatically on demand, outside the built-in scheduler.
- Distribute content without edit rights by sharing a report with view permission or by publishing an app from a workspace; apps can define audience groups with different content permissions.
- Deployment pipelines (a Premium/PPU feature) promote content through Development, Test, and Production stages and support parameterized data source rules between stages.
- Share a dataset and connect to it with live connections from other workspaces (or use a shared semantic model) to promote a single source of truth instead of duplicating data.
- Microsoft Purview sensitivity labels classify and protect content, and labels applied to a dataset are inherited downstream by reports and dashboards built on it.
- Invite external users with Microsoft Entra ID B2B as guests, then grant them access via app or sharing; many actions require recipients to hold a Pro or PPU license (or the content to be in Premium capacity).
- Monitor adoption with per-workspace usage metrics reports (who views content and how often) and the tenant-wide Power BI activity log and audit log.
- Configure data source credentials and gateway/cloud connection mappings in the dataset settings in the Power BI service before refresh will succeed.
- App Owns Data (Embed for your customers) uses a service principal or master account so external users do not need their own Power BI licenses; User Owns Data (Embed for your organization) relies on each user's own license.
- Reduce dataset size and refresh load by lowering cardinality of high-cardinality columns such as timestamps (e.g., split date and time, round values), and remove unused columns to shrink the model.
PL-300 exam tips
- Watch for query folding in scenario questions: any answer adding a custom M function or unsupported transform breaks folding for that and all later steps, so prefer source-native operations (filter, select columns, native SQL) when performance is the goal.
- Master the relationship and DAX context distinctions - active vs inactive relationships with USERELATIONSHIP, single vs bidirectional cross-filter, and measures (query-time, filter context) vs calculated columns (refresh-time, row context).
- Memorize the refresh limits: 8 refreshes/day on Pro, 48/day on Premium/PPU, and that an on-premises gateway is mandatory for on-premises sources while DirectQuery needs no scheduled data refresh.
- Know which feature solves which interaction need: Drillthrough for right-click-to-detail, Edit interactions/None to stop cross-filtering, Sync Slicers for cross-page slicers, Bookmarks for saved state, and Q&A/Analyze/Decomposition Tree/Key Influencers for AI exploration.
- Distinguish the distribution and governance options: report sharing vs apps vs deployment pipelines, shared datasets/live connections for one source of truth, Purview sensitivity labels (inherited downstream), and Entra ID B2B for external guests.
Study guide FAQ
How long is the PL-300 exam and what score do I need to pass?
You get 120 minutes and need a scaled score of 700 out of 1000. The exam typically has around 40 to 60 questions, including multiple choice, multi-select, drag-and-drop, and occasionally case studies, and the passing score is scaled rather than a simple percentage.
How much DAX do I need to know for PL-300?
You need solid working DAX, not deep expert-level coding. Be comfortable writing and reading measures and calculated columns, the difference between them, and core functions like CALCULATE, ALL, SUM/SUMX, RELATED, USERELATIONSHIP, RANKX, and time-intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR. Understanding filter context is more important than memorizing obscure functions.
Should I focus more on Power BI Desktop or the Power BI service?
Both are heavily tested. Desktop covers Power Query data prep, modeling, DAX, and report design, while the service covers publishing, workspaces, apps, sharing, scheduled refresh, gateways, deployment pipelines, RLS user assignment, and governance. Row-level security is a classic split: define roles in Desktop, assign users in the service.
Do I need a paid Power BI license to study, and is the exam hands-on?
Power BI Desktop is free, so you can practice nearly all data prep, modeling, and visualization there. The exam itself is not a live lab; it is question-based, but it expects practical familiarity, so building and publishing a sample report (a free Microsoft Fabric/Power BI trial helps for service features like apps, refresh, and pipelines) is the best preparation.