Courseiva
Knowledge + Practice
CertificationsVendorsCareer RoadmapsLabs & ToolsStudy GuidesGlossaryPractice Questions
C
Courseiva

Free IT certification practice questions with explained answers for CCNA, CompTIA, AWS, Azure, Google Cloud, and more.

Certification Practice Questions

CCNA practice questionsSecurity+ SY0-701 practice questionsAWS SAA-C03 practice questionsAZ-104 practice questionsAZ-900 practice questionsCLF-C02 practice questionsA+ Core 1 practice questionsGoogle Cloud ACE practice questionsCySA+ CS0-003 practice questionsNetwork+ N10-009 practice questions
View all certifications →

Product

CertificationsCertification PathsExam TopicsPractice TestsExam Dumps vs Practice TestsStudy HubComparisons

Company

AboutContactEditorial PolicyQuestion Writing PolicyTrust Center

Legal

Privacy PolicyTerms of Service

Courseiva is a free IT certification practice platform offering original exam-style practice questions, detailed explanations, topic-based practice, mock exams, readiness tracking, and study analytics for Cisco, CompTIA, Microsoft, AWS, and other technology certifications.

© 2026 Courseiva. Courseiva is operated by JTNetSolutions Ltd. All rights reserved.

Courseiva is an independent certification practice platform and is not affiliated with, endorsed by, or sponsored by Cisco, Microsoft, AWS, CompTIA, Google, ISC2, ISACA, or any other certification vendor. Vendor names and certification marks are used only to identify the exams learners are preparing for.

HomeCertificationsPL-300Exam Questions

Microsoft · Free Practice Questions · Last reviewed May 2026

PL-300 Exam Questions and Answers

30real exam-style questions organised by domain, each with the correct answer highlighted and a plain-English explanation of why it's right — and why the others are wrong.

50 exam questions
120 min time limit
Pass: 700/1000 / 1000
5 exam domains
OverviewDomain BlueprintStudy GuideAll QuestionsSample by Domain
1. Prepare the data2. Deploy and maintain assets3. Model the data4. Visualize and analyze the data5. Manage and secure Power BI
1

Domain 1: Prepare the data

All Prepare the data questions
Q1
mediumFull explanation →

A company uses Power BI to analyze sales data from a SQL Server database. The database contains a table 'Sales' with 10 million rows. The business analysts need to create daily reports that aggregate sales by region and product category. To optimize report performance, which data preparation technique should be applied?

A

Increase the row limit in Power Query to load all rows.

B

Remove unused columns from the query.

C

Import the entire table and aggregate in Power BI.

D

Perform aggregation in SQL before importing.

Aggregating at source reduces rows significantly.

Why: Option D is correct because performing aggregation in SQL before importing reduces the data volume from 10 million rows to a much smaller aggregated result set. This minimizes memory consumption and speeds up report rendering in Power BI, as the heavy lifting is done on the SQL Server engine rather than in Power Query or the Power BI data model.
Q2
hardFull explanation →

During data refresh in Power BI, an error occurs: 'The column 'OrderID' of the table 'Orders' contains a duplicate value and this column is part of a primary key.' The table 'Orders' is imported from an Azure SQL database. What is the most likely cause of this error?

A

The 'Orders' table was reordered in Power Query.

B

Data type mismatch between the source and Power BI.

C

A calculated column is referencing the 'Orders' table.

D

The source table has duplicate 'OrderID' values.

Duplicate values violate the primary key constraint.

Why: Option D is correct because the error message explicitly states that the 'OrderID' column contains a duplicate value and is part of a primary key. In Power BI, when importing from a source like Azure SQL Database, the data model enforces uniqueness on primary key columns. If the source table has duplicate 'OrderID' values, the refresh fails because Power BI cannot maintain the required unique constraint.
Q3
easyFull explanation →

A data analyst needs to combine two queries in Power Query: 'Sales2023' and 'Sales2024', both with identical column structures. Which operation should the analyst use to append the rows from 'Sales2024' to 'Sales2023'?

A

Append Queries

Append stacks rows from multiple tables.

B

Merge Queries

C

Group By

D

Pivot Column

Why: The Append Queries operation in Power Query is designed to combine rows from two or more tables with identical column structures, stacking the rows of 'Sales2024' beneath those of 'Sales2023'. This is the correct method because it preserves all columns and adds data vertically, which matches the requirement to append rows.
Q4
hardFull explanation →

A Power BI report contains a table with a column 'Date' of type date. The report users need to filter data by fiscal year, which starts on April 1. What is the best practice to support this requirement during data preparation?

A

Create a separate date table in Power Query with a fiscal year column.

A dedicated date table is the recommended approach.

B

Split the date column into year, month, and day columns.

C

Use a DAX calculated table to generate fiscal year dates.

D

Add a calculated column in the existing table using DAX.

Why: Option A is correct because creating a separate date table in Power Query with a fiscal year column is the best practice for handling fiscal year filtering. This approach ensures the date dimension is independent of fact tables, supports star schema design, and allows you to define fiscal year logic (starting April 1) directly in M code during data preparation, which is more efficient and maintainable than using DAX calculated columns or tables.
Q5
mediumFull explanation →

When importing data from a CSV file, Power Query detects that the first row contains column headers. However, the actual data starts from row 2. The analyst notices that some rows have extra columns due to commas within quoted fields. What is the most efficient way to handle this issue?

A

Remove the top row and then split columns manually.

B

Change the file encoding from UTF-8 to ANSI.

C

Use 'Split Column by Delimiter' and choose 'Comma' with the option to split at each occurrence.

This correctly handles quoted commas.

D

Use 'Replace Values' to replace commas with semicolons.

Why: Option C is correct because the 'Split Column by Delimiter' feature in Power Query, when configured to split at each occurrence of the comma delimiter, correctly handles commas that appear inside quoted fields. Power Query's M engine respects the standard CSV quoting rules (RFC 4180), so quoted commas are not treated as delimiters. This approach is the most efficient as it requires no manual cleanup and preserves data integrity.
Q6
mediumFull explanation →

Which TWO actions can improve data refresh performance in Power BI?

A

Merge all queries into a single query.

B

Add calculated columns in Power Query instead of DAX.

C

Disable load for intermediate queries used only for reference.

Prevents unnecessary data loading.

D

Filter rows at the source to reduce data volume.

Fewer rows means faster refresh.

E

Keep all columns from the source data to avoid re-importing.

Why: Option C is correct because disabling load for intermediate queries used only as reference steps prevents Power BI from materializing those tables in the data model. This reduces memory consumption and refresh time, as the engine skips loading data that isn't needed for reports or further transformations.

Want more Prepare the data practice?

Practice this domain
2

Domain 2: Deploy and maintain assets

All Deploy and maintain assets questions
Q1
mediumFull explanation →

You manage a Power BI workspace that contains a dataset refreshed daily from an on-premises SQL Server. Users report that the report shows data from two days ago. You verify that the scheduled refresh ran successfully this morning. What is the most likely cause?

A

The gateway is using a cached version of the data due to a misconfigured data source.

A misconfigured gateway cache can cause stale data.

B

The refresh took longer than expected and timed out.

C

The scheduled refresh is not set to refresh the dataset.

D

The on-premises data gateway is offline.

Why: Option A is correct because the most likely cause is that the on-premises data gateway is using a cached version of the data due to a misconfigured data source. When the data source is misconfigured (e.g., incorrect credentials or connection string), the gateway may fall back to a previously cached dataset, causing the report to show stale data even though the scheduled refresh appears to have run successfully. This explains why users see data from two days ago despite a successful refresh this morning.
Q2
easyFull explanation →

You need to deploy a Power BI report from a development workspace to a production workspace. You want to ensure that the report uses the production dataset connection string without manual changes. What should you use?

A

Manually update the data source in the production workspace after deployment.

B

Use a Power BI template (.pbit) and change the connection string before publishing.

C

Configure a deployment pipeline with parameter rules to override the data source.

Pipeline rules can automatically set production parameters.

D

Publish the report directly to the production workspace and update the dataset.

Why: Option C is correct because deployment pipelines in Power BI allow you to define parameter rules that automatically override data source connection strings when content is deployed from development to production. This ensures the report uses the production dataset without any manual post-deployment changes, maintaining consistency and reducing human error.
Q3
hardFull explanation →

Your Power BI dataset uses DirectQuery to an Azure SQL Database. Users complain that the report is slow. You need to improve query performance without changing the data source. What should you do?

A

Reduce the number of columns and rows retrieved by the report visuals.

Less data means faster queries.

B

Add more visuals to the report to distribute the load.

C

Switch the dataset to Import mode.

D

Increase the scheduled refresh frequency.

Why: Option A is correct because reducing the number of columns and rows retrieved by report visuals directly minimizes the amount of data sent from Azure SQL Database to Power BI via DirectQuery. Since DirectQuery sends native queries to the source for each visual interaction, fewer columns and rows mean smaller, faster queries, which reduces overall latency without altering the underlying data source.
Q4
mediumFull explanation →

You are deploying a Power BI solution to a customer. The customer requires that all report access be controlled via Azure Active Directory (Azure AD) groups. You have a single workspace with multiple reports. What is the best practice for managing permissions?

A

Create a Power BI group and add users to it.

B

Assign each user directly to the workspace role.

C

Share each report individually with users.

D

Add an Azure AD group to the workspace role.

This is the recommended approach for scalable access.

Why: Option D is correct because using an Azure AD group to manage workspace roles aligns with the customer's requirement for centralized access control via Azure AD. This approach simplifies permission management by allowing group membership changes in Azure AD to automatically propagate to Power BI workspace access, ensuring consistency and reducing administrative overhead.
Q5
hardFull explanation →

You have a Power BI dataset that is refreshed every hour from an on-premises data source using an enterprise gateway. The refresh consistently fails at 2:00 AM. What is the most likely cause?

A

The on-premises data gateway is scheduled to reboot at 2:00 AM.

A reboot would cause the gateway to be unavailable.

B

The refresh is failing due to a transient network error.

C

The data source is undergoing maintenance in the cloud.

D

The scheduled refresh time conflicts with another refresh.

Why: The consistent failure at exactly 2:00 AM strongly points to a scheduled event on the on-premises data gateway, such as a reboot or maintenance window. Enterprise gateways can be configured to reboot periodically for updates or health reasons, and if this coincides with the refresh schedule, the gateway will be unavailable, causing the refresh to fail. Transient errors or cloud maintenance would not produce a perfectly consistent daily failure at the same time.
Q6
mediumFull explanation →

Which TWO actions should you take to ensure that a Power BI report deployed to production is available to users even if the gateway is offline for maintenance?

A

Create a Power BI Premium capacity to ensure high availability.

B

Schedule the dataset refresh to run during the maintenance window.

C

Use DirectQuery instead of Import mode to avoid gateway dependency.

D

Create a separate dataset in the cloud that caches the data.

A cloud dataset can be refreshed when the gateway is online.

E

Implement a disaster recovery plan that includes a secondary gateway.

A secondary gateway can take over during maintenance.

Why: Option D is correct because creating a separate dataset in the cloud that caches the data (e.g., using a scheduled dataflow or a cloud-based dataset with Import mode) ensures that the report can still serve cached data from the Power BI service even when the on-premises gateway is offline for maintenance. This decouples report availability from gateway connectivity, as long as the cached data is refreshed before the maintenance window.

Want more Deploy and maintain assets practice?

Practice this domain
3

Domain 3: Model the data

All Model the data questions
Q1
easyFull explanation →

A company has a Power BI dataset that contains a date table with columns: Date, Year, Month, Quarter, Day. The data model also includes a sales fact table with a SalesDate column. To enable time intelligence functions like TOTALYTD, what is the minimum requirement for the relationship between these tables?

A

Create a calculated column in the sales table to extract the date part and relate it to the date table.

B

Create a one-to-many relationship from the date table to the sales table and mark the date table as a date table.

This is the standard requirement for time intelligence.

C

Create a many-to-many relationship between the date table and the sales table.

D

Create a one-to-many relationship from the sales table to the date table with bidirectional cross-filtering.

Why: Option B is correct because time intelligence functions like TOTALYTD require a properly configured date table marked as a date table, with a one-to-many relationship from the date table to the sales fact table. This ensures that the date table provides a continuous, unique set of dates that Power BI can use for time-based calculations, and marking it as a date table enables the engine to recognize it as the primary date dimension for time intelligence.
Q2
mediumFull explanation →

A Power BI developer creates a star schema with a fact table Sales and dimension tables Customer, Product, Date. The relationship between Sales and Date is active. The developer wants to create a measure that calculates the total sales for the previous month relative to any selected month. Which DAX expression should the developer use?

A

CALCULATE(SUM(Sales[Amount]), DATESMTD(Date[Date]))

B

CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Date[Date]))

C

CALCULATE(SUM(Sales[Amount]), DATEADD(Date[Date], -1, MONTH))

D

CALCULATE(SUM(Sales[Amount]), PREVIOUSMONTH(Date[Date]))

PREVIOUSMONTH returns the set of dates in the previous month based on the current filter context.

Why: Option D is correct because PREVIOUSMONTH(Date[Date]) returns a set of dates for the full previous month relative to the last date in the current filter context. When wrapped in CALCULATE, it shifts the filter on the Date dimension to the prior month, correctly computing total sales for the previous month regardless of the selected month.
Q3
hardFull explanation →

A Power BI data model includes a table 'Orders' with columns OrderID, CustomerID, OrderDate, SalesAmount. The model also has a 'Date' table and a 'Customer' table. The relationships are: Orders[CustomerID] -> Customer[CustomerID] (many-to-one, single direction) and Orders[OrderDate] -> Date[Date] (many-to-one, single direction). A user creates a measure that sums SalesAmount and then filters by a slicer on Customer[City]. The slicer works correctly. However, when the user adds another slicer on Date[Year], the measure does not respect both slicers simultaneously. What is the most likely cause?

A

The Customer and Date tables are not related to each other.

B

The relationship between Orders and Date is inactive.

C

The relationships are set to single direction, so filters from Date do not propagate to Orders.

D

The measure might be using ALL or ALLEXCEPT that removes the filter context from the Date table.

If the measure removes filters from Date, then the slicer on Date[Year] would be ignored.

Why: Option D is correct because the measure likely uses ALL or ALLEXCEPT, which removes the filter context from the Date table. Even though the relationships are correctly configured and filters from the Date slicer propagate to Orders via the single-direction relationship, if the measure explicitly ignores those filters using a function like ALL(Date[Year]) or ALLEXCEPT(Orders, ...), the Date slicer will have no effect on the measure. This is a common DAX mistake where filter removal functions override slicer selections.
Q4
easyFull explanation →

A Power BI developer needs to model data from two sources: an on-premises SQL Server database and a cloud-based Salesforce instance. The developer wants to create a star schema in Power BI. Which approach should the developer use to combine the data?

A

Use DirectQuery for both sources and create relationships in the model.

B

Use Power Query in Power BI Desktop to import both sources and merge/append queries as needed.

Power Query can import from multiple sources and shape data.

C

Use Power BI dataflows to ingest both sources and then reference them in a dataset.

D

Create a composite model using DirectQuery for SQL Server and Import for Salesforce.

Why: Option B is correct because Power Query in Power BI Desktop is the appropriate tool to import data from both an on-premises SQL Server database and a cloud-based Salesforce instance, allowing the developer to merge or append queries as needed to shape the data into a star schema. This approach supports combining disparate sources into a single import model, which is essential for creating a star schema with fact and dimension tables. Using Power Query ensures that all data is loaded into memory, enabling fast query performance and full modeling capabilities.
Q5
mediumFull explanation →

A Power BI developer has a fact table that contains sales data at the transaction level. The table includes columns: TransactionID, ProductID, CustomerID, DateKey, Quantity, UnitPrice, Discount, and SalesAmount. The developer wants to create a measure for total sales after discount. Which approach is best for performance and accuracy?

A

Create a measure: SUM(Sales[SalesAmount]) - SUM(Sales[Discount])

B

Add a calculated column in Power Query: NetAmount = Quantity * UnitPrice - Discount, then create a measure: SUM(Sales[NetAmount])

Calculated columns are computed at refresh time, improving query performance.

C

Create a measure: SUMX(Sales, Sales[Quantity] * Sales[UnitPrice] - Sales[Discount])

D

Create a measure: SUM(Sales[Quantity] * Sales[UnitPrice]) - SUM(Sales[Discount])

Why: Option B is correct because it performs the net amount calculation at the row level in Power Query (M), which is computed during data refresh and stored in the table. This avoids runtime row-by-row iteration in DAX, making the measure SUM(Sales[NetAmount]) a simple, highly efficient aggregation. It ensures both performance and accuracy, as the discount is applied per transaction before aggregation.
Q6
hardFull explanation →

A Power BI developer is designing a data model for sales analysis. The model includes a Sales fact table and dimension tables: Product, Customer, Date, and Store. Which TWO design considerations are best practices for optimizing query performance?

A

Configure bidirectional cross-filtering between all dimension tables and the fact table.

B

Use multiple inactive relationships between fact and dimension tables to support different analyses.

C

Create a separate date table and mark it as a date table to enable time intelligence functions.

A date table is essential for time-based calculations and filtering.

D

Use many-to-many relationships between dimension tables and the fact table to simplify the model.

E

Reduce the cardinality of columns in dimension tables by using surrogate keys instead of natural keys.

Lower cardinality improves compression and query performance.

Why: Option C is correct because creating a separate date table and marking it as a date table enables Power BI to use built-in time intelligence functions (e.g., TOTALYTD, SAMEPERIODLASTYEAR) that rely on a continuous, contiguous date range. This design ensures optimal performance by allowing the engine to generate efficient DAX queries and leverage date-based relationships without ambiguity.

Want more Model the data practice?

Practice this domain
4

Domain 4: Visualize and analyze the data

All Visualize and analyze the data questions
Q1
mediumFull explanation →

A Power BI report uses a measure that calculates Year-over-Year sales growth. Users report that the measure shows incorrect values for January 2024 when compared to January 2023. The data model contains a Date table with a continuous date range from January 1, 2020 to December 31, 2024. Which DAX function is most likely causing the issue?

A

PARALLELPERIOD

B

DATEADD

C

SAMEPERIODLASTYEAR

SAMEPERIODLASTYEAR is the most likely cause because it returns the same period from the previous year, but if the Date table lacks data for the entire previous period, it can produce incorrect results for month-over-month comparisons.

D

PREVIOUSYEAR

Why: SAMEPERIODLASTYEAR is the most likely cause of the issue because it returns a set of dates from the previous year that exactly matches the current period's date range. For January 2024, it will return January 1–31, 2023, but if the Date table does not have a full contiguous range (e.g., missing weekends or holidays), or if the measure relies on a different granularity, the comparison may produce incorrect values. The other functions shift dates differently or return entire periods, which can cause mismatches in Year-over-Year calculations.
Q2
hardFull explanation →

A company wants to create a Power BI report that shows sales performance by region. The data contains a table 'Sales' with columns: Date, Amount, RegionID, and ProductID. They also have a 'Regions' table with RegionID and RegionName. They want to display a matrix visual with RegionName on rows and Year on columns, with the sum of Amount as values. However, the report displays only 'RegionID' instead of 'RegionName'. What is the most likely cause?

A

The relationship is configured as many-to-many.

B

The relationship direction is set to Both.

C

The RegionID column in the Sales table is hidden.

D

There is no active relationship between the Sales and Regions tables.

Without an active relationship, Power BI cannot propagate filters from Sales to Regions, so it displays the foreign key column (RegionID) instead of RegionName.

Why: Option D is correct because if there is no active relationship between the Sales and Regions tables, Power BI cannot use the RegionName from the Regions table to filter or group the Sales data. Instead, it defaults to displaying the RegionID from the Sales table, which is the only related field available in the visual. An active relationship must exist between the two tables on the RegionID columns for RegionName to appear in the matrix.
Q3
easyFull explanation →

A Power BI report includes a bar chart showing total sales by product category. The report designer wants to add a trend line to the chart to show the overall sales trend over time. Which type of visual should be used instead?

A

Stacked bar chart

B

Line chart

A line chart is the standard visual for showing trends over time, and it supports adding a trend line.

C

Scatter chart

D

Pie chart

Why: A line chart is the correct visual to show a trend over time because it plots data points connected by straight lines, making it easy to see the overall direction and pattern of total sales across a continuous time axis. Bar charts, including stacked variants, are designed for comparing discrete categories, not for displaying continuous trends.
Q4
hardFull explanation →

A Power BI report contains a table visual that displays employee names and their total sales. The data model includes an Employee table with columns: EmployeeID, Name, Department, and HireDate. The Sales table has columns: SaleID, EmployeeID, Amount, and SaleDate. The relationship between Employee and Sales is one-to-many. The user wants to see only employees who have made at least one sale. However, the table shows all employees, including those with no sales (blank Amount). What is the most likely reason?

A

The EmployeeID column in the Employee table is hidden.

B

The relationship is many-to-one, not one-to-many.

C

The relationship direction is set to Single from Employee to Sales.

D

There is no visual-level filter to exclude blank values.

To show only employees with sales, a visual-level filter should be applied on the Amount field to exclude blanks.

Why: Option D is correct because the table visual is showing all employees due to the absence of a visual-level filter to exclude blank or zero sales amounts. In Power BI, a one-to-many relationship between Employee and Sales means that employees without sales will still appear in the visual unless explicitly filtered out, as the relationship does not automatically suppress rows from the 'one' side when there are no matching rows on the 'many' side.
Q5
mediumFull explanation →

A data analyst creates a Power BI report that uses a date table with a continuous date range. They want to calculate the running total of sales over the last 12 months, ending on the last date in the current filter context. Which DAX expression should they use?

A

CALCULATE(SUM(Sales[Amount]), DATESBETWEEN('Date'[Date], MAX('Date'[Date]) - 365, MAX('Date'[Date])))

DATESBETWEEN with MAX date minus 365 days approximates the last 12 months, but this may not account for leap years; however, among the options, this is the most appropriate for a running 12-month total. A more precise method would use DATESINPERIOD, but that is not listed.

B

CALCULATE(SUM(Sales[Amount]), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH))

C

TOTALMTD(SUM(Sales[Amount]), 'Date'[Date])

D

CALCULATE(SUM(Sales[Amount]), DATESYTD('Date'[Date]))

Why: Option A is correct because it uses DATESBETWEEN to define a custom date range from 365 days before the last date in the current filter context (MAX('Date'[Date])) up to that last date, effectively creating a rolling 12-month window. This approach works with a continuous date table and respects the filter context, ensuring the running total is calculated dynamically based on the latest visible date.
Q6
mediumFull explanation →

A Power BI report includes a slicer for 'Year' and a line chart showing monthly sales. The report designer wants to ensure that when a user selects a year in the slicer, the line chart shows only the months of that year, with month names on the x-axis sorted chronologically. Which TWO actions must be taken?

A

Mark the Date table as a date table in the model.

Marking the table as a date table enables time intelligence functions and ensures proper date behavior.

B

Create a date hierarchy with Year and Month.

C

Set the slicer to 'Single select' mode.

D

Set the 'Sort by Column' property for Month to a numeric month number column.

This ensures months are sorted chronologically rather than alphabetically.

E

Hide the Month column in the Date table.

Why: Option A is correct because marking the Date table as a date table ensures that Power BI recognizes the table as containing a contiguous date range, which is required for time intelligence functions and proper date-based filtering. When a slicer filters by Year, the line chart must respect the date relationship; without a marked date table, the filter may not propagate correctly to the month level, and the x-axis may not display months in chronological order.

Want more Visualize and analyze the data practice?

Practice this domain
5

Domain 5: Manage and secure Power BI

All Manage and secure Power BI questions
Q1
mediumFull explanation →

You are a Power BI administrator. A user reports that a shared dashboard shows 'Sensitive data detected' for certain visualizations, but the dashboard is configured with row-level security (RLS). What is the most likely cause of this issue?

A

The dashboard owner has not granted the user 'Build' permission on the dataset.

B

RLS is incorrectly configured and allowing users to see data they should not.

C

A Microsoft Purview sensitivity label is applied to the dataset or report.

Sensitivity labels can cause 'Sensitive data detected' messages regardless of RLS.

D

The user is viewing the dashboard in a browser that does not support sensitivity labels.

Why: Option B is correct because Microsoft Purview Information Protection sensitivity labels take precedence over RLS; a label applied to a dataset or report can flag data as sensitive regardless of RLS. Option A is wrong because RLS does not block sensitivity labels from being applied. Option C is wrong because the dashboard owner's permissions do not affect label detection. Option D is wrong because the Power BI service does not strip sensitivity labels for external users unless explicitly configured.
Q2
hardFull explanation →

A Power BI administrator needs to enforce that all datasets published to the service use certified data sources only. Which two settings should be configured? (Choose two.)

A

Use Microsoft Sentinel to audit Power BI activity logs and flag non-certified data sources.

Sentinel can ingest audit logs to detect and alert on use of uncertified data sources.

B

Enable 'Certification' for dataflows in the Power BI tenant settings.

C

Enable 'Certification' for data sources in the Power BI tenant settings.

This setting allows administrators to mark specific data sources as certified and enforce their use.

D

Configure row-level security (RLS) on all datasets.

E

Set up B2B guest user permissions to restrict external data sources.

Why: Option A (tenant setting for 'Certification' of data sources) and Option C (admin monitoring with Microsoft Sentinel) are correct. Option A directly enforces certification. Option C allows detection of non-compliant datasets via logs. Option B (Row-level security) does not enforce data source certification. Option D (B2B guest settings) is irrelevant. Option E (dataflow certification) certifies dataflows, not datasets.
Q3
mediumFull explanation →

You are a Power BI administrator. A user reports that their scheduled data refresh fails with error 'The data source credentials are no longer valid.' The dataset uses a SQL Server database with Windows authentication. What should you do first to resolve the issue?

A

Reinstall the on-premises data gateway on the server.

B

Reassign the dataset to a different Premium capacity.

C

Modify the dataset to use 'Impersonate the authenticated user' for data sources.

D

Ask the user to update the data source credentials in the Power BI service dataset settings.

Windows credentials may expire; updating them in the service resolves the error.

Why: Option C is correct because the most common cause for Windows authentication failures is a password change; the user can update credentials in the dataset settings. Option A is wrong because the on-premises gateway is not necessarily the issue. Option B is wrong because impersonation does not apply to Windows credentials. Option D is wrong because capacity reassignment does not fix credential issues.
Q4
hardFull explanation →

You are a Power BI administrator. Your organization uses Microsoft Purview to manage sensitivity labels. You need to ensure that when a report is exported to PDF, the sensitivity label is automatically applied to the PDF file. What should you configure?

A

Enable the tenant setting 'Apply sensitivity labels to exported data' in the Power BI admin portal.

This setting ensures that when a report with a sensitivity label is exported, the label is embedded in the exported file.

B

Enable 'Microsoft Purview Information Protection' file encryption settings.

C

Set the default sensitivity label for the workspace to 'Confidential'.

D

Configure a Microsoft Purview auto-labeling policy for Power BI reports.

Why: Option D is correct because Power BI can enforce sensitivity labels on exported files when the tenant setting 'Apply sensitivity labels to exported data' is enabled. Option A is wrong because the labeling policy applies at the report level, not during export. Option B is wrong because file encryption settings in Purview do not control Power BI export behavior. Option C is wrong because the sensitivity label in the report does not automatically carry over to exports unless the tenant setting is enabled.
Q5
easyFull explanation →

A Power BI administrator wants to allow users to create dashboards and reports, but prevent them from sharing content outside the organization. Which two settings should be configured in the Power BI admin portal? (Choose two.)

A

Disable 'Create workspaces' in the tenant settings.

B

Disable 'Export data' in the tenant settings.

C

Disable 'Featured tables' in the tenant settings.

D

Disable 'Share content with external users' in the tenant settings.

This setting prevents users from sharing reports and dashboards with external email addresses.

E

Disable 'Publish to web' in the tenant settings.

This prevents users from creating public embed codes that can be shared outside the organization.

Why: Option A (control 'Share content with external users') and Option D (disable 'Publish to web') are correct. Option A directly blocks sharing with external users. Option D prevents public sharing via embed codes. Option B (create workspaces) is irrelevant to sharing. Option C (export data) is about exporting, not sharing. Option E (featured tables) is unrelated.
Q6
hardFull explanation →

You are a Power BI administrator. A Power BI dataset owner reports that the dataset is not refreshing automatically, but manual refreshes work fine. The dataset uses a cloud data source (Azure SQL Database) with OAuth2 credentials. What is the most likely cause?

A

Row-level security (RLS) is misconfigured.

B

The on-premises data gateway is offline.

C

The dataset exceeds the refresh limit for the assigned capacity.

D

The OAuth2 token used for the data source credentials has expired.

Expired OAuth tokens prevent automatic refreshes, but manual refreshes prompt the user to reauthenticate.

Why: Option B is correct because OAuth2 tokens can expire, causing automatic refresh failures while manual refreshes work (since the user reauthenticates). Option A is wrong because gateway issues typically affect both manual and automatic refreshes. Option C is wrong because capacity restrictions would also affect manual refreshes. Option D is wrong because RLS does not affect refresh functionality.

Want more Manage and secure Power BI practice?

Practice this domain

Frequently asked questions

How many questions are on the PL-300 exam?

The PL-300 exam has 50 questions and must be completed in 120 minutes. The passing score is 700/1000.

What types of questions appear on the PL-300 exam?

Business intelligence scenario questions on Power BI data models, DAX expressions, report design, row-level security, deployment pipelines, and governance. Some question sets are case-study based, presenting a business scenario followed by multiple related questions.

How are PL-300 questions organised by domain?

The exam covers 5 domains: Prepare the data, Deploy and maintain assets, Model the data, Visualize and analyze the data, Manage and secure Power BI. Questions are weighted by domain — higher-weight domains appear more on your actual exam.

Are these the actual PL-300 exam questions?

No. These are original exam-style practice questions written against the official Microsoft PL-300 exam objectives. They are not copied from the real exam. Courseiva focuses on genuine understanding, not memorisation of braindumps.

Ready to practice all 60 PL-300 questions?

Courseiva tracks your accuracy per domain and routes you toward weak areas automatically. Free, no account required.

Browse all PL-300 questionsTake a timed practice test