Free PL-300 practice test: 20 questions
Twenty questions across the four PL-300 skill areas, weighted roughly as the real exam is: six on preparing the data, six on modelling, five on visualising and analysing, and three on managing and securing Power BI. These are original scenario questions. Find the constraint in each scenario before you look at the options.
Prepare the data
Question 1. A Power BI report uses a very large SQL database. Users must see changes in the source within seconds and the data is too large to import. Which storage mode should you use?
- A. Import with a scheduled refresh
- B. DirectQuery
- C. Dual storage mode on every table
- D. Import with an incremental refresh policy only
Show answer
Answer: B
DirectQuery sends queries to the source on demand, so data is current and nothing is imported. Import copies data into the model and shows changes only after refresh, and large data may not fit. Dual is a table mode used in composite models, not a way to get live data from a large source. Incremental refresh still imports data and shows changes only after a refresh.
Want more questions like this? Full PL-300 practice tests →
Question 2. The Orders query must include the Region column from the Customers query. All orders must be kept, even for customers that are missing from Customers. Which operation should you use?
- A. Append Queries
- B. Merge Queries with an inner join
- C. Merge Queries with a left outer join from Orders to Customers
- D. Merge Queries with a full outer join
Show answer
Answer: C
Merge Queries with a left outer join, with Orders as the first table, keeps all orders and brings matching columns from Customers, leaving nulls where no customer matches. An inner join drops orders without a match. Append adds rows and not columns. A full outer join also keeps customers that have no orders, which adds unneeded rows.
Want more questions like this? Full PL-300 practice tests →
Question 3. Column quality in Power Query shows 0 percent errors for a column, but you suspect errors exist further down a table of several million rows. What should you do?
- A. Change profiling to be based on the entire data set
- B. Remove duplicate rows
- C. Change the column data type to text
- D. Sort the column in descending order and check again
Show answer
Answer: A
Power Query profiles only the top 1000 rows by default. Switching the status bar option to column profiling based on the entire data set examines all rows. Increasing the number of visible rows does not change the profile. Removing duplicates and changing the data type do not reveal errors in rows that were not profiled.
Want more questions like this? Full PL-300 practice tests →
Question 4. Your queries read from a development SQL Server. Before deployment you need to point the same queries to a production server without editing each query. What should you create?
- A. A duplicate of each query for production
- B. A calculated column holding the server name
- C. A relationship to a server table
- D. A parameter for the server name used in the source steps
Show answer
Answer: D
A parameter that holds the server name can be referenced in the source step of each query, so changing one value redirects them all. Duplicating the queries creates more to maintain. A calculated column acts after load. A relationship connects tables in the model and does not control the source.
Want more questions like this? Full PL-300 practice tests →
Question 5. A column in a query holds JSON text for each row, such as an address with city and postal code. You need separate columns for city and postal code. What should you do?
- A. Pivot the column
- B. Transform the column with Parse JSON, then expand the record
- C. Group By the column
- D. Split the column by a comma delimiter
Show answer
Answer: B
Parse the column as JSON to turn the text into records, then expand the record to extract the fields as columns. Splitting by delimiter is fragile for nested structures. Pivoting and grouping reshape rows, they do not read JSON.
Want more questions like this? Full PL-300 practice tests →
Question 6. One flat table has an order line per row, with repeated customer name, city and segment on every row. The model is large and slow. What is the best change to make in Power Query?
- A. Create a customer dimension from a reference query with duplicates removed, and relate it to the orders
- B. Add a calculated column for each customer attribute
- C. Convert every column to text
- D. Add a bi-directional relationship to the flat table
Show answer
Answer: A
Split the flat table into a fact table of orders and a customer dimension with one row per customer, using a reference query and Remove Duplicates, then relate them with a key. This is the star schema, smaller and faster. Adding more calculated columns and enabling bi-directional filters make the model larger or more ambiguous. Converting all columns to text does not reduce size.
Want more questions like this? Full PL-300 practice tests →
Model the data
Question 7. You need a measure that returns sales for the same period in the previous year, using a properly marked date table. Which expression is correct?
- A.
SUM(Sales[Amount]) - B.
CALCULATE([Total Sales], DATESYTD('Date'[Date])) - C.
CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date])) - D.
FILTER('Date', [Total Sales])
Show answer
Answer: C
SAMEPERIODLASTYEAR returns the dates shifted back one year from the current filter context, and CALCULATE applies them to the measure. SUM of Sales alone ignores the shift. DATESYTD gives year to date, not last year. Using the plain measure inside a FILTER on the Date column does not shift dates.
Want more questions like this? Full PL-300 practice tests →
Question 8. Which measure returns total sales for the West region regardless of other filters on the Geography table's Region column?
- A.
SUM(Sales[Amount]) - B.
CALCULATE([Total Sales], VALUES(Geography[Region])) - C.
[Total Sales] + Geography[Region] - D.
CALCULATE([Total Sales], Geography[Region] = "West")
Show answer
Answer: D
CALCULATE with a Boolean filter on Region replaces any existing filter on that column and returns West. A plain SUM is affected by the visual context. VALUES keeps the current region. Using the Region column without CALCULATE does not change the filter context.
Want more questions like this? Full PL-300 practice tests →
Question 9. A table holds one stock-level row per product per day. A matrix by month sums the daily values, so a product with 50 units on each of 30 days shows 1500. You need the stock level at the end of the selected period. What kind of measure is this?
- A. A SUM measure with a different format string
- B. A semi-additive measure using LASTDATE or CLOSINGBALANCEMONTH
- C. A calculated table
- D. A measure using ALL on the Date table
Show answer
Answer: B
Stock levels add across products but not across time, so the measure is semi-additive: it takes the last value in the period, for example with LASTDATE inside CALCULATE. A normal SUM adds days. A calculated table or a quick-formatting setting does not change how the values aggregate over time.
Want more questions like this? Full PL-300 practice tests →
Question 10. A model has 40 measures, and for each one you also need prior year and year-to-date variants. You want to avoid writing 80 more measures. What should you use?
- A. A calculation group with items for current, prior year and year to date
- B. A quick measure for each variant
- C. A calculated column on the Date table
- D. A bi-directional relationship to the Date table
Show answer
Answer: A
A calculation group applies a set of calculation items, such as current, prior year and year to date, to any measure, so you do not duplicate measures. Quick measures create a single measure each time. A calculated column is evaluated per row at refresh and cannot switch a measure’s time period. A bi-directional relationship has nothing to do with it.
Want more questions like this? Full PL-300 practice tests →
Question 11. Users complain that a report page is slow. You need to find which visual takes the longest and how long its DAX query takes. Which tool should you use?
- A. The Selection pane
- B. Sync slicers
- C. Performance Analyzer
- D. The query folding indicators in Power Query
Show answer
Answer: C
Performance Analyzer records the time each visual takes to load, split into DAX query, visual display and other, and lets you copy the query. Query folding indicators relate to Power Query. Sync slicers and the Selection pane affect layout, not diagnosis.
Want more questions like this? Full PL-300 practice tests →
Question 12. A fact table has a datetime column with a time of day down to the second, but reports only use the date. The model is large. What is the best way to reduce its size?
- A. Add a calculated column that concatenates date and time
- B. Reduce granularity by keeping only the date, or separate the date and time and remove the time
- C. Make the relationship to the Date table bi-directional
- D. Change the date column to text
Show answer
Answer: B
A datetime column with seconds has very high cardinality, which compresses poorly. Keeping only the date, or splitting date and time and removing the time part, reduces cardinality and size. A bi-directional relationship and an extra calculated column increase the work or the size. Changing storage mode does not address column cardinality.
Want more questions like this? Full PL-300 practice tests →
Visualize and analyze the data
Question 13. A date slicer on the Overview page must keep the same selection when users move to the Detail and Forecast pages. What should you configure?
- A. A bookmark for each page
- B. Drillthrough on each page
- C. A tooltip page
- D. Sync slicers across the three pages
Show answer
Answer: D
Sync slicers lets a slicer on one page control and show the same selection on other pages. A bookmark saves a state, not a live link between slicers. Drillthrough passes a selected value to another page and does not sync a slicer. A tooltip page appears on hover.
Want more questions like this? Full PL-300 practice tests →
Question 14. When users hover over a bar for a product, you want a small chart of that product's monthly sales to appear. What should you create?
- A. A report page tooltip assigned to the visual
- B. A drillthrough page
- C. A paginated report
- D. A bookmark
Show answer
Answer: A
A report page configured as a tooltip page shows a small report page with context-filtered visuals on hover. Drillthrough requires a right-click and navigates away. A paginated report is for printing. Sorting a visual does not add a chart.
Want more questions like this? Full PL-300 practice tests →
Question 15. The business needs a multi-page invoice, laid out exactly for printing, with one invoice per customer. Which report type should you build?
- A. A standard report with a table visual
- B. A dashboard with pinned tiles
- C. A paginated report
- D. A key influencers visual
Show answer
Answer: C
Paginated reports are designed for pixel-perfect, printable, multi-page output such as invoices. A standard Power BI report is interactive and screen-oriented. A dashboard is a single page of tiles. A key influencers visual analyses factors and does not produce documents.
Want more questions like this? Full PL-300 practice tests →
Question 16. Screen reader users must be able to understand a report. Which two actions help most, taken together?
- A. Add animations and remove titles
- B. Add alt text to visuals and set a logical tab order
- C. Use bright colour gradients to show differences
- D. Hide the Selection pane
Show answer
Answer: B
Alternative text describes each visual to a screen reader, and a logical tab order lets keyboard users move through visuals in a sensible sequence. Large animations, bright colour gradients and removing titles do not help accessibility, and removing titles makes things worse.
Want more questions like this? Full PL-300 practice tests →
Question 17. Many users will open the report on phones. The desktop layout is wide and hard to use on a small screen. What should you do?
- A. Design a phone layout in the mobile layout view
- B. Make the page size smaller
- C. Convert the report to a paginated report
- D. Create a tooltip page
Show answer
Answer: A
Power BI Desktop has a Mobile layout view in which you arrange visuals for a phone screen, and the layout is used in the mobile app. Resizing the page changes the desktop layout. A paginated report and a tooltip page are different features.
Want more questions like this? Full PL-300 practice tests →
Manage and secure Power BI
Question 18. You need to give 300 consumers read-only access to a curated set of reports and dashboards, without adding them to the workspace. Different groups should see different content. What should you do?
- A. Add the users as Contributors
- B. Add the users as Members
- C. Create email subscriptions for each report
- D. Publish a workspace app with audiences
Show answer
Answer: D
A workspace app packages content for consumers and supports multiple audiences with their own content, without workspace membership. Adding consumers as Contributors gives them edit rights. Making each person a Member is excessive. Email subscriptions deliver snapshots, not a managed set of content.
Want more questions like this? Full PL-300 practice tests →
Question 19. A table named UserRegion maps each user email address to a region. A single role must show each user only the rows for their own region. Which filter expression should the role use on UserRegion?
- A.
[Region] = "West" - B.
TRUE() - C.
[Email] = USERPRINCIPALNAME() - D.
[Email] = "everyone"
Show answer
Answer: C
USERPRINCIPALNAME returns the signed-in user, so a filter that compares the Email column to it gives dynamic, per-user security with one role. A fixed region name creates a static role for one region only. A filter that is always true returns every row, and comparing the column to a made-up text value matches nobody.
Want more questions like this? Full PL-300 practice tests →
Question 20. A manager wants an email notification when the Total Sales card pinned to a dashboard goes above a set value. What should you configure?
- A. An email subscription
- B. A data alert on the dashboard tile
- C. A row-level security role
- D. A sensitivity label
Show answer
Answer: B
Data alerts can be set on dashboard tiles such as cards, gauges and KPIs and notify users when a value crosses a threshold. A subscription sends a scheduled snapshot, regardless of the value. Row-level security restricts rows, and a sensitivity label classifies content.
Want more questions like this? Full PL-300 practice tests →
How did you do?
Sixteen or more correct suggests you are close. Below fourteen, the domain guides in this section are the fastest way to find the gaps. Questions 7–12 cover modelling and DAX: if you missed more than one, spend your next study week on the modelling guide, because that is where most PL-300 candidates lose marks. Questions 1–6 point to the prepare the data guide, 13–17 to visualize and analyze, and 18–20 to manage and secure.
Repeat the free Microsoft practice assessment afterwards. If both results point at the same domain, you know where your remaining time should go.