Microsoft PL-300 · Power BI Data Analyst · Updated 2026

Free PL-300 Power BI Data Analyst Practice Exam (2026)

Full-length PL-300 mock exams with a realistic number of questions and the real exam time. Data preparation, modeling, DAX, visualization and workspace security scenarios, answers explained, and your score by domain.

2. Choose a mode

50 questions · 1 hour 40 min · same as the real exam

100% free · no signup · progress saved on your device
You have an unfinished attempt on this set.
--:--:-- Answered 0/50 · Score 0

Questions 1–10Page 1 of 5
🏆

Question 1Prepare the Data

Contoso's finance team maintains a certified semantic model in the Power BI service. An analyst needs to build a new report in Power BI Desktop that reuses the model's measures and stays in sync with model changes. The analyst must not create a copy of the data. What should the analyst do?

Correct answer: C. Connect live to the Power BI semantic model
A live connection to a published semantic model reuses its tables, relationships and measures without copying data, and model changes flow to the report. Importing the source tables again would duplicate the data, and the measures would have to be rebuilt.
Question 2Model the Data

Fabrikam imports a single wide sales table that repeats customer name, city, product name, and category on every row. Reports are slow to build, and customer and product filters are hard to reuse across other facts. What should the data analyst do?

Correct answer: B. Split it into fact and dimension tables
A star schema stores descriptive attributes once in dimension tables related to a narrow fact table, which reduces redundancy and lets each dimension filter several facts. Calculated columns would add more repeated data to the wide table instead of fixing the design.
Question 3Visualize & Analyze

Contoso's CFO wants a visual that starts with last year's profit, shows how each cost and revenue driver raised or lowered it, and ends with this year's profit. Which visual should the analyst use?

Correct answer: D. Waterfall chart
A waterfall chart shows a starting value, the positive and negative change from each category, and the ending total. A funnel chart shows stages that narrow in a process and cannot show increases and decreases.
Question 4Manage & Secure

Contoso's analyst must create, edit, and delete reports and semantic models in the Sales workspace. The analyst must not be able to add or remove workspace users. Following least privilege, which role should be assigned?

Correct answer: A. Contributor
Contributors can create, edit and delete content in a workspace but cannot manage workspace access. Members can add users with the Member role or lower, which is more than the analyst needs.
Question 5Prepare the Data

Fabrikam analysts combine customer data from an on-premises SQL Server database with exchange rates from a public website in one merged query. Corporate policy states that customer data must never be sent to the public source during query evaluation. What should the analysts configure?

Correct answer: B. Organizational for SQL, Public for the web source
Privacy levels isolate sources so the mashup engine does not send Organizational data to a Public source when it combines queries. Ignoring privacy levels removes that protection and could expose customer data to the web source.
Question 6Model the Data

In Contoso's model, the Product table has one row per ProductKey, and the Sales table has many rows per ProductKey. The team wants Product attributes to filter Sales but not the other way around. How should the relationship be configured?

Correct answer: A. One-to-many, cross filter Single
A one-to-many relationship from Product to Sales with a single cross filter direction lets Product filter Sales without filters flowing back. Choosing Both would let Sales filter Product, which the team does not want and can cause ambiguous paths.
Question 7Visualize & Analyze

Fabrikam's table visual lists 40 stores. Managers want to compare revenue at a glance inside the Revenue column itself, with longer bars for higher values, without adding another visual. What should the analyst apply?

Correct answer: D. Data bars conditional formatting
Data bars draw a bar inside each cell sized by the value, so stores can be compared without another visual. Background color formatting shades cells but does not show relative size the way bar length does.
Question 8Manage & Secure

Fabrikam wants to share 12 reports from a workspace with 2,000 business users. Users must not see draft content, and the HR group should see only HR reports while the Sales group sees only Sales reports. What should the analyst do?

Correct answer: A. Publish an app with multiple audiences
A workspace app gives consumers a curated, read-only experience, and audiences control which content each group sees. Adding users as Viewers would expose every workspace item, including drafts.
Question 9Prepare the Data

Litware's operations team needs a Power BI report on a 4 billion row table in Azure SQL Database. The report must show transactions within a minute of being written, and the data is too large to import. Which storage mode should the team use for the table?

Correct answer: C. DirectQuery
DirectQuery sends queries to Azure SQL Database when the report is viewed, so it shows current data and nothing is cached in the model. Import and Dual both cache data that needs refreshing, and Direct Lake only reads Delta tables in OneLake.
Question 10Model the Data

Litware's Sales table has OrderDate and ShipDate columns, both related to the Date table, and the OrderDate relationship is active. The team needs one measure that shows sales by ship date while the existing measures keep using order date. What should the new measure use?

Correct answer: A. CALCULATE with USERELATIONSHIP
USERELATIONSHIP inside CALCULATE turns on the inactive ShipDate relationship for that measure only, and other measures keep using OrderDate. CROSSFILTER changes the filter direction of a relationship but cannot activate an inactive one.
Question 11Visualize & Analyze

Litware's report has eight pages. Leadership wants every page to exclude discontinued products, and the analyst does not want to add the same filter on each page. Where should the analyst add the filter?

Correct answer: D. Filters on all pages
A filter in the Filters on all pages area is a report-level filter and applies to every page and visual. Page-level filters would have to be repeated on all eight pages.
Question 12Prepare the Data

Northwind Traders has a composite model. The Sales fact table uses DirectQuery and the Budget fact table uses Import. The Product dimension filters both facts, and the team wants to avoid limited relationships and slow slicer queries. Which storage mode should the team set on the Product table?

Correct answer: B. Dual
A Dual table acts as cached or DirectQuery depending on the query, so it joins efficiently with both the Import and the DirectQuery facts, and slicers can use the cache. Setting Product to Import would create a limited relationship with the DirectQuery Sales table.
Question 13Model the Data

Adatum relates its Sales table to a Date table on an integer DateKey column. Time intelligence measures such as TOTALYTD return wrong totals. The Date table has a contiguous Date column with one row per day. What should the analyst do?

Correct answer: C. Mark the Date table as a date table
Marking the table as a date table and choosing its Date column lets time intelligence functions remove filters on the whole Date table correctly, even when the relationship uses an integer key. Auto date/time only builds hidden tables for date columns and does not fix a model related on DateKey.
Question 14Visualize & Analyze

Adatum wants report users to click one button to show a chart and another button to show a table in the same space on a page. Only one of the two visuals should be visible at a time. What should the analyst use?

Correct answer: B. Bookmarks with the selection pane
In the selection pane you hide one visual and save a bookmark, then swap visibility and save a second bookmark, and each button runs one bookmark. Drillthrough moves to another page with filters, so it does not toggle visuals in the same space.
Question 15Manage & Secure

A Litware manager wants a notification when the daily open tickets value goes above 500. The value is shown in a card visual in a report. What should the manager do?

Correct answer: D. Pin it to a dashboard and add an alert
Data alerts are set on dashboard tiles such as cards, KPIs and gauges and notify you when the value crosses a threshold. A subscription emails a snapshot on a schedule regardless of the value.
Question 16Prepare the Data

Adatum's BI developer moves a Power BI Desktop file between a development SQL Server and a production SQL Server. The team wants to change the server name in one place without editing each query's Source step, and to change it in the service after publishing. What should the developer create?

Correct answer: B. A query parameter for the server name
A Power Query parameter can be referenced in every Source step and edited later in the semantic model settings in the service. A what-if parameter creates a DAX table and measure for scenario analysis and cannot change a data source connection.
Question 17Model the Data

Tailwind Traders wants a slicer that labels each customer as Corporate when the CompanyName column has a value and Individual otherwise. The label only needs to change when the data refreshes. What should the analyst create in the Customer table?

Correct answer: C. A calculated column
A calculated column is evaluated for each row at refresh and stored, so it can be used in a slicer or on an axis. Measures are evaluated at query time and cannot be placed in a slicer as values.
Question 18Visualize & Analyze

Tailwind Traders has an overview page with sales by customer and a Customer Details page. Users should right-click any customer on the overview and open the details page filtered to that customer. What should the analyst configure on the Customer Details page?

Correct answer: A. Add Customer as a drillthrough field
Adding Customer to the drillthrough well on the target page makes a Drill through option appear on visuals that use Customer, and the page opens filtered to the selection. A page-level filter would be fixed and would not pass the clicked customer.
Question 19Prepare the Data

A Tailwind Traders analyst imports a supplier file and wants to see, for each column, the percentage of valid, error, and empty values before building the model. What should the analyst enable in the Power Query Editor?

Correct answer: D. Column quality
Column quality shows the share of valid, error and empty values under each column header. Column distribution shows distinct and unique value counts rather than error and empty percentages.
Question 20Model the Data

Northwind Traders needs a measure that shows each product category's sales as a percentage of all categories. The result must ignore every Product filter, including Product slicers, but respect date slicers. Which expression should the denominator use?

Correct answer: A. CALCULATE([Sales], REMOVEFILTERS(Product))
REMOVEFILTERS on Product clears every filter that comes from the Product table, including slicers, while date filters stay in place. ALLSELECTED would keep the slicer selections, so the denominator would be the visible total rather than all categories.
Question 21Visualize & Analyze

Northwind Traders wants users who hover over a bar in a sales chart to see a small card and a mini trend chart for that product, instead of the default text tooltip. What should the analyst create?

Correct answer: C. A report page tooltip
A tooltip page is a small report page set to be used as a tooltip, and its visuals are filtered to the hovered data point. A drillthrough page needs a right-click and a page change, which does not meet the hover requirement.
Question 22Manage & Secure

Adatum's governance team wants a semantic model labeled as the authoritative source for finance reporting. Only reviewers chosen by the Fabric administrator should be able to apply that label. Which endorsement should be used?

Correct answer: D. Certified
Certification is limited to users the Fabric administrator authorizes, and it marks content as meeting organizational quality standards. Any content owner with write access can apply Promoted, so it does not meet the control requirement.
Question 23Prepare the Data

A Wide World Importers analyst changes a text Quantity column to Whole Number. A few rows contain values such as N/A, which now show Error. The team wants to keep those rows and show 0 instead of the error. What should the analyst use?

Correct answer: D. Replace Errors
Replace Errors substitutes a value such as 0 for cell-level errors and keeps the rows. Remove Errors would delete the affected rows, which breaks the requirement to keep them.
Question 24Model the Data

Woodgrove Bank's model has a marked Date table. Analysts need a measure that returns loan volume for the same dates one year earlier, so it can sit next to the current value in a matrix by month. Which expression should they use?

Correct answer: B. CALCULATE([Loans], SAMEPERIODLASTYEAR('Date'[Date]))
SAMEPERIODLASTYEAR shifts the current date filter back one year, so each month compares with the same month last year. PREVIOUSYEAR returns every date in the prior year, so each month would show the full prior year total.
Question 25Visualize & Analyze

On a Woodgrove Bank report page, a Region slicer filters all visuals. One card must always show the company-wide total and ignore the slicer, while other visuals keep filtering. The analyst wants a fix that needs no DAX. What should the analyst do?

Correct answer: C. Use Edit interactions and set None on the card
Edit interactions lets you select the slicer and set the card to None, so the slicer no longer filters it and no DAX is needed. A REMOVEFILTERS measure would also work, but it adds code, which the requirement rules out.
Question 26Prepare the Data

Fabrikam receives a budget spreadsheet with a Department column and twelve columns named Jan through Dec. The model needs one row per department and month with a single Amount column. New month columns might be added to the file later. What should the analyst do?

Correct answer: D. Select Department and choose Unpivot Other Columns
Unpivot Other Columns keeps Department and turns every other column into Attribute and Value rows, so new month columns are included automatically. Unpivot Only Selected Columns hardcodes the chosen column names and would miss new months.
Question 27Model the Data

Fourth Coffee stores a daily inventory snapshot with the quantity on hand for each product, and some days have no snapshot. In a matrix by month, quantity must show the last recorded balance in the period, not the sum of the daily snapshots. Which approach should the measure use?

Correct answer: C. LASTNONBLANK date inside CALCULATE
Inventory is semi-additive, so the measure should sum quantity only for the last date in the period that has data, which LASTNONBLANK finds. TOTALMTD would still add up every daily snapshot in the month and overstate stock.
Question 28Visualize & Analyze

Fourth Coffee has a Year slicer on its Overview page. When users move to the Products and Stores pages, the same year selection must apply and the slicer must appear on those pages too. What should the analyst use?

Correct answer: B. Sync slicers pane
The Sync slicers pane lets one slicer appear on chosen pages and keep the same selection across them. A report-level filter applies everywhere, but users would change it in the filter pane rather than through a slicer on each page.
Question 29Manage & Secure

Tailwind Traders publishes a report that imports data from a SQL Server instance in its own data center. The semantic model must refresh every morning in the Power BI service. What is required?

Correct answer: C. An on-premises data gateway
The Power BI service cannot reach an on-premises SQL Server directly, so scheduled refresh needs an on-premises data gateway. DirectQuery to an on-premises source also needs a gateway, so changing the mode does not remove the requirement.
Question 30Prepare the Data

Contoso's Sales query contains a StoreID column, and a Stores query contains StoreID and Region. The analyst must add Region to Sales and keep every sales row, even for stores missing from the Stores query. Which operation should the analyst use?

Correct answer: A. Merge with a left outer join
A left outer merge keeps all rows from the first table, Sales, and adds matching Region values, leaving nulls where no store matches. An inner join would drop sales rows for stores that are missing from the Stores query.
Question 31Model the Data

Coho Winery's Sales table has Quantity and UnitPrice columns but no line total column. The team wants a Revenue measure without adding a calculated column to the table. Which expression should be used?

Correct answer: B. SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
SUMX evaluates Quantity times UnitPrice for each row and then adds the results, which gives the correct revenue. Multiplying two separate sums, or a sum by an average, mixes totals and gives wrong results when prices vary.
Question 32Visualize & Analyze

Coho Winery's sales reps view a report on their phones in the Power BI mobile app, and the desktop page is too small to read. The analyst wants a phone-friendly arrangement of selected visuals without building a separate report. What should the analyst do?

Correct answer: A. Create a mobile layout for the page
The mobile layout view lets you place chosen visuals on a portrait phone canvas for the same page, and the mobile app shows it automatically. Publishing an app changes how content is distributed, not how the page fits on a phone screen.
Question 33Manage & Secure

Northwind Traders has a 7-year sales table that takes three hours to refresh, and only the last 10 days of data change. The team wants to refresh only recent data while keeping history. What must the analyst create in Power Query before configuring the policy?

Correct answer: C. RangeStart and RangeEnd parameters
Incremental refresh requires DateTime parameters named exactly RangeStart and RangeEnd that filter the table, and the service uses them to create partitions. A parameter with any other name is not recognized by the incremental refresh policy.
Question 34Prepare the Data

Litware's support team imports a ticket log with one row per ticket. For a summary table they need one row per customer with the ticket count and the total hours spent, calculated during data preparation. Which Power Query transformation should they use?

Correct answer: D. Group By
Group By with multiple aggregations can count rows and sum hours per customer in one step. Remove Duplicates would keep one row per customer but would not calculate the count or the total hours.
Question 35Model the Data

Relecloud wants a measure that ranks each product by total sales in a table visual. The rank must compare the product with all products, not only the product in the current row. Which expression should the measure use?

Correct answer: D. RANKX(ALL(Product[Name]), [Sales])
ALL removes the current row's filter on Product[Name], so RANKX compares the product against every product. With VALUES, the table in each row holds only that row's product, so every product ranks 1.
Question 36Visualize & Analyze

Proseware must make its public sector reports accessible to users who rely on screen readers. Each chart must announce a meaningful description of what it shows. What should the analyst configure on each visual?

Correct answer: A. Alt text
Alt text gives screen readers a description of each visual, and it can be driven by a measure so it stays current. Tab order controls the keyboard navigation sequence but does not describe the content.
Question 37Prepare the Data

Adatum loads order data from a REST API. The Details column holds a JSON object as text in each row, with keys named sku and qty. The analyst needs separate sku and qty columns. What should the analyst do?

Correct answer: B. Parse as JSON and expand the record
Parse JSON converts the text into a record, and expanding the record creates sku and qty columns. Splitting by comma would leave braces, quotes and key names in the values and breaks if the key order changes.
Question 38Model the Data

Alpine Ski House imports a 300 million row lift-scan table with a TransactionDateTime column that stores seconds. The model is large, and analysis only needs the date and the hour. What should the analyst do to reduce model size the most?

Correct answer: D. Split it into Date and Hour columns
Splitting a high-cardinality datetime into a date column and an hour column leaves far fewer unique values, which compresses much better in VertiPaq. Hiding the column changes nothing about storage, and Text usually compresses worse.
Question 39Visualize & Analyze

Relecloud wants to understand which factors, such as contract type, tenure, and region, most increase the likelihood that a customer churns. The analyst wants an AI visual that ranks the factors. Which visual should the analyst use?

Correct answer: C. Key influencers
Key influencers analyzes a chosen outcome, such as churn equals Yes, and ranks the factors that change its likelihood most. A decomposition tree breaks a measure down across dimensions but does not rank factors by their influence on an outcome.
Question 40Manage & Secure

Woodgrove Bank has a Managers table with each manager's email and region. Each manager must see only the rows for their own region, and new managers should be added by updating the table, not the roles. Which DAX filter should the role apply to the Managers table?

Correct answer: B. [Email] = USERPRINCIPALNAME()
USERPRINCIPALNAME returns the signed-in user's sign-in name, usually the email, so one role filters to each manager's own row and the relationship to Region does the rest. A hardcoded filter such as Region equals West is static RLS and would need one role per region.
Question 41Prepare the Data

A Northwind Traders analyst filters rows and renames columns in a query against Azure SQL Database. The analyst wants to confirm that these steps run on the source database rather than in the Power Query engine. What should the analyst check?

Correct answer: C. View Native Query on the last step
If View Native Query is available on the last applied step, all steps up to that point fold into a SQL statement that runs at the source. The query dependencies view only shows how queries reference each other and says nothing about folding.
Question 42Model the Data

A Lamna Healthcare report page takes 15 seconds to load. The analyst needs to find which visual is slow and whether the time is spent on the DAX query or on rendering. What should the analyst use in Power BI Desktop?

Correct answer: A. Performance Analyzer
Performance Analyzer records each visual's duration and splits it into DAX query, visual display and other time, and it can copy the query for testing. Query diagnostics traces Power Query refresh steps, not visual rendering.
Question 43Visualize & Analyze

Lucerne Publishing wants managers to break down total returns step by step across region, store, and product, choosing the next dimension themselves or letting AI pick the split with the highest value. Which visual should the analyst add?

Correct answer: B. Decomposition tree
The decomposition tree lets users expand a measure across dimensions in any order and includes AI splits that pick the highest or lowest next value. A matrix with drill down follows a fixed hierarchy and has no AI splits.
Question 44Prepare the Data

Tailwind Traders has a staging query that cleans raw customer rows. Two other queries reference it to build the Customer and Geography tables. The staging query should not appear as a table in the model. What should the analyst do?

Correct answer: A. Clear Enable load on the staging query
Clearing Enable load keeps the query available to the queries that reference it but does not load it into the model. Hiding the table in report view still loads the data and uses memory, and deleting the query would break the two dependent queries.
Question 45Model the Data

Trey Research has 20 base measures and needs year-to-date, prior year, and year-over-year versions of each one. Creating 60 extra measures would be hard to maintain. What should the analyst implement?

Correct answer: C. A calculation group
A calculation group applies one set of calculation items, such as YTD and PY, to any measure through SELECTEDMEASURE, so 20 measures do not become 80. A field parameter only lets users switch which measure a visual shows and does not create new calculations.
Question 46Visualize & Analyze

Margie's Travel tracks daily bookings in a line chart. Managers want unusual spikes or drops highlighted automatically, along with possible explanations. What should the analyst turn on?

Correct answer: B. Find anomalies on the line chart
Find anomalies marks points outside the expected range on a time series line chart and can list possible explanations from other fields. A forecast projects future values but does not flag unusual past points.
Question 47Manage & Secure

Lamna Healthcare must classify reports that contain patient data as Highly Confidential, and the protection must stay with the data when users export it to Excel. What should the analyst apply?

Correct answer: D. A sensitivity label
Microsoft Purview sensitivity labels classify Power BI content, and the label and its protection carry over to supported exports such as Excel. Row-level security filters rows inside Power BI but does not classify or protect exported files.
Question 48Prepare the Data

Proseware imports a CSV file from its UK office where dates are written as day/month/year text. The analyst's Power BI Desktop uses United States regional settings, and some dates convert to errors or to the wrong month. What should the analyst use to convert the column?

Correct answer: A. Change Type Using Locale (en-GB)
Using Locale tells Power Query to read the text with UK date rules, so 03/04 is read as 3 April. A plain Change Type to Date uses the current US locale and reads the same text as March 4 or fails.
Question 49Model the Data

VanArsdel stores sales at product level and budget at category level. The Budget table has one row per category and month, and the Product table has many products per category. The team wants Product[Category] to filter Budget without adding a new table. What should they create?

Correct answer: B. A many-to-many relationship on Category
Both Category columns contain repeated values, so a many-to-many relationship with a single direction from Product to Budget lets the category filter budget rows. A one-to-many relationship needs unique values on the one side, which Product[Category] does not have.
Question 50Visualize & Analyze

Wide World Importers must produce customer invoices that print on letter-size paper, run across several pages for long orders, and repeat headers on every page. Which report type should the analyst build?

Correct answer: D. Paginated report
Paginated reports are built for pixel-perfect, printable output where tables grow across pages with repeated headers. A table visual in a Power BI report scrolls inside a fixed canvas and does not paginate for printing.
100% pass or full refund

Pass PL-300 on your first attempt

Talk to an advisor on WhatsApp View Power BI Data Analyst Training

The real PL-300 exam at a glance

50questions
1h 40mtime limit
MCQmultiple choice
75%+aim for here

Score 75% or more on two different sets before you book the real exam. Need a plan for your weak topics? See how we help you pass, or get a full refund.

More free Microsoft Azure & Power BI practice tests

See all 36 free practice tests →

Original practice questions written by CertOcean in the style of the PL-300 exam. They are not real exam questions. PL-300 and Microsoft are trademarks of their owners. Real exam format: usually 40-60 questions · 100 minutes · passing score 700 on a 1-1000 scale · the real exam can include case studies.