Courseiva

Microsoft Power BI Data Analyst PL-300 (PL-300) — Questions 376–450

524 questions total · 7pages · All types, answers revealed

Page 5

Page 6 of 7

Page 7
376
MCQeasy

You are cleaning data in Power Query. A column contains customer names with inconsistent capitalization (e.g., 'john smith', 'JANE DOE'). You need to standardize the names to proper case (first letter uppercase, rest lowercase). Which transformation should you use?

A.Use 'Format' > 'Trim'.
B.Use 'Format' > 'Capitalize Each Word'.
C.Use 'Format' > 'Lowercase'.
D.Use 'Format' > 'Uppercase'.
AnswerB

Selecting 'Format' > 'Capitalize Each Word' applies the M function Text.Proper to the entire column, which converts the first character of every word to uppercase and all other characters to lowercase, yielding values like 'John Smith'. In Power Query, this operates as a built-in transform that adds a new applied step for the selected column, and it recognizes spaces, punctuation, or any non-letter character as word boundaries. This is the correct choice for converting customer names from inconsistent mixed case into a readable proper-case format for a report.

Why this answer

The 'Capitalize Each Word' transformation in Power Query converts the first letter of each word to uppercase and the rest to lowercase, which is exactly what proper case requires. This is the correct choice because it directly addresses the need to standardize inconsistent casing (e.g., 'john smith' becomes 'John Smith', 'JANE DOE' becomes 'Jane Doe').

Exam trap

The trap here is that candidates may confuse 'Capitalize Each Word' with 'Uppercase' or 'Lowercase', thinking any casing transformation will suffice, but only 'Capitalize Each Word' produces the specific proper case format required.

How to eliminate wrong answers

Option A is wrong because 'Trim' only removes leading and trailing whitespace from text, it does not alter character casing. Option C is wrong because 'Lowercase' converts all characters to lowercase (e.g., 'JANE DOE' becomes 'jane doe'), which does not achieve the required first-letter uppercase format. Option D is wrong because 'Uppercase' converts all characters to uppercase (e.g., 'john smith' becomes 'JOHN SMITH'), which does not produce proper case.

377
MCQeasy

A user reports that they cannot publish a Power BI Desktop file to the Power BI service. The error message indicates insufficient permissions. The user is a member of a workspace and has the Viewer role. What is the most likely cause?

A.The user has the Viewer role in the workspace
B.Row-level security (RLS) is preventing the user from seeing the data
C.The user does not have a Power BI Pro license
D.The .pbix file is stored on a network share that restricts write access
AnswerA

In the Power BI service, workspace roles form a permission hierarchy: Admin, Member, Contributor, and Viewer. All roles except Viewer can create, edit, and publish items in the workspace; the Viewer role grants only read-only access and does not include content management rights. Because the user is assigned Viewer, the service rejects the publish attempt with an insufficient-permissions error, which directly matches the symptom.

Why this answer

The correct answer is A: the user has the Viewer role in the workspace. In Power BI, the Viewer role only allows viewing and interacting with existing content; it does not grant permission to publish or import .pbix files into the workspace, which requires at least the Contributor role. That directly matches the reported 'insufficient permissions' error when attempting to publish from Power BI Desktop.

Option B is incorrect because RLS filters data rows for viewers and would not block publishing. Option C is not the most likely cause, since a Pro license is needed to publish to shared workspaces but the error specifically points to workspace role permissions. Option D is unrelated, as the .pbix file's storage location does not determine Power BI service publishing rights.

Exam trap

The trap is that users often confuse data access permissions (RLS) with workspace permissions. The question tests whether you know that Viewer role cannot publish, regardless of data access or licensing.

378
Multi-Selecthard

You are preparing data from an Azure SQL Database. You need to ensure that sensitive columns (e.g., Social Security Numbers) are obfuscated in Power BI reports. Which TWO of the following approaches can you use? (Choose two.)

Select 2 answers
A.Configure dynamic data masking on the Azure SQL Database.
B.Use row-level security (RLS) in Power BI to hide sensitive columns.
C.Transform the data in Power Query by replacing sensitive values with a placeholder.
D.Use Microsoft Purview sensitivity labels to mask data.
E.Apply column-level security in Power BI Desktop.
AnswersA, C

Configuring dynamic data masking on Azure SQL Database obfuscates sensitive columns at the database engine level, applying mask functions to the result set based on the querying user's permissions. When Power BI runs a query (especially in DirectQuery or SQL passthrough), if the login lacks masking privileges, the returned data is already masked. This is a source-side defense that requires no alteration of the data model or report design.

Why this answer

Azure SQL Database Dynamic Data Masking (DDM) obfuscates sensitive data at the database query level, so when Power BI connects to the database, the masked values are automatically returned for unauthorized users. This is a server-side approach that does not require changes to the Power BI report or data model.

Exam trap

The trap here is that candidates confuse Row-Level Security (RLS) with column-level masking, not realizing that RLS only filters rows and cannot hide or obfuscate column values, while column-level security in Power BI requires Premium features and object-level security (OLS), not a standard Desktop capability.

379
MCQmedium

You are a data analyst at a retail company. You are building a Power BI report to analyze sales performance across multiple stores. The source data comes from an Azure SQL Database that contains a table 'Sales' with columns: StoreID, ProductID, SaleDate, Quantity, and Amount. The database also has a 'Stores' table with StoreID and StoreName, and a 'Products' table with ProductID, ProductName, and Category. You need to create a data model that supports filtering by store, product category, and date, and also allows calculation of year-over-year sales growth. You want to minimize the model size and ensure optimal performance. The data volume is large (millions of rows). You must design the data model. What should you do?

A.Import all tables as they are and create a single flat table by merging Sales, Stores, and Products in Power Query.
B.Import Sales, Stores, and Products tables, create a separate date table using CALENDAR, and establish relationships between Sales and dimension tables.
C.Import Sales table only and create calculated columns for StoreName and ProductName using RELATED.
D.Import Sales table and use the auto date/time feature for time intelligence.
AnswerB

Creating a star schema by importing Sales as a fact table along with Stores, Products, and a separate date table generated via CALENDAR is the optimal design. The date table must be marked as a date table in Power BI to enable time-intelligence functions like TOTALYTD and SAMEPERIODLASTYEAR to work predictably across fiscal and calendar periods. Relationships between Sales and the dimension tables filter facts efficiently, reduce model size through dimension normalization, and improve DAX query performance, making this the correct approach.

Why this answer

It follows the star schema best practice: importing dimension tables (Stores, Products, a dedicated Date table) and the fact table (Sales) separately, then creating relationships. This minimizes model size by avoiding data duplication and enables efficient filtering by store, product category, and date. The separate date table is essential for accurate year-over-year calculations using DAX time intelligence functions like SAMEPERIODLASTYEAR, which require a continuous date range.

Exam trap

The trap here is that candidates often choose Option A (flat table) thinking it simplifies the model, not realizing that star schema design is essential for performance and compression in large datasets, and that Power BI's query folding can handle joins efficiently without merging.

How to eliminate wrong answers

Option A is wrong because merging all tables into a single flat table in Power Query creates massive data duplication (repeating StoreName and ProductName for every sales row), drastically increasing model size and degrading performance with millions of rows. Option C is wrong because importing only the Sales table and using calculated columns with RELATED forces Power BI to store the dimension data within the fact table, bloating the model and losing the benefits of separate dimension tables for filtering and compression. Option D is wrong because relying on the auto date/time feature creates hidden, auto-generated date tables that are not customizable, cannot support proper year-over-year calculations with DAX time intelligence, and can increase model size unnecessarily for large datasets.

380
Multi-Selectmedium

You are using Power Query to clean and transform data from a SQL Server database. You have a table 'Orders' with columns 'OrderID', 'CustomerID', 'OrderDate', and 'TotalAmount'. You need to ensure that the data is properly typed and that any errors are handled. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Use the 'Replace Errors' feature to replace errors in 'TotalAmount' with 0.
B.Remove any rows with errors in the 'TotalAmount' column.
C.Filter out any rows where 'CustomerID' is null.
D.Change the data type of 'OrderID' to Text.
E.Change the data type of 'OrderDate' to Date and 'TotalAmount' to Decimal Number.
AnswersA, E

Replacing errors with 0 ensures that the data loads without errors and allows calculations to proceed. However, it's important to understand the cause of errors; if they are due to data quality issues, replacing with 0 might skew results. But in many cases, it's a practical way to handle errors without losing rows. This is a recommended step when errors are expected and can be safely defaulted.

Why this answer

Setting correct data types for OrderDate and TotalAmount ensures accurate analysis, and replacing errors in TotalAmount with 0 handles data quality issues without losing rows. These two actions together prepare the data for reliable reporting. The other options either discard data unnecessarily or change types without benefit.

Exam trap

The trap here is thinking that removing rows with errors is always better than handling them, but losing data can be more detrimental than replacing errors with a default value.

381
MCQmedium

You have a Power BI report that uses a DirectQuery dataset. You need to ensure that users see only the data relevant to their department. What should you implement?

A.Q&A features to restrict natural language queries.
B.Row-level security (RLS) with DAX filter expressions.
C.Object-level security (OLS) to hide tables.
D.Data lineage view to control access.
AnswerB

DirectQuery datasets push filters to the source, and row-level security with DAX filter expressions is evaluated server-side, restricting each user to their department's rows. This satisfies the requirement that users see only data relevant to their department.

Why this answer

Row-level security (RLS) is the correct approach because it filters data at the query level based on the user's identity. In a DirectQuery model, RLS translates DAX filter expressions into source queries, ensuring that each user only sees rows relevant to their department without duplicating reports or datasets.

Exam trap

The trap here is that candidates confuse row-level security (RLS) with object-level security (OLS), thinking OLS can filter rows when it only hides entire objects like tables or columns.

How to eliminate wrong answers

Option A is wrong because Q&A features allow natural language queries but do not restrict data visibility; they only control how users can phrase questions. Option C is wrong because object-level security (OLS) hides entire tables or columns, not rows, so it cannot filter data by department. Option D is wrong because data lineage view is a metadata visualization tool for impact analysis, not a security mechanism to control user access to data.

382
MCQmedium

You are a Power BI data analyst for a healthcare organization. You build a report page containing a card visual that displays total patient admissions, a slicer for hospital department, and a table visual listing patient details. A physician selects the 'Cardiology' department in the slicer. She then notices that the card visual updates to show only Cardiology admissions, but the table visual still shows all patients from every department. She wants both visuals to respond to the slicer. What should you do?

A.Add the Department column to the table visual's visual-level filters and set it to 'Cardiology'.
B.Change the slicer's selection mode to 'Single select' and enable 'Show Select All'.
C.Convert the table visual to a matrix and enable 'Stepped layout'.
D.Edit the interactions for the slicer so that the table visual is filtered by the slicer.
AnswerD

By default, slicers filter all other visuals on the page, but interactions can be modified. The table visual is likely set to 'None' for this slicer. Opening 'Edit interactions' and setting the table to be filtered will make it respond to the department selection, matching the card's behavior.

Why this answer

Slicers filter other visuals by default, but individual interactions can be disabled. The table visual's interaction with the slicer was likely set to 'None', so it displays unfiltered data. Using 'Edit interactions' to set the table to be filtered resolves the issue and ensures consistent cross-filtering across the page.

Exam trap

The trap here is assuming that slicers always filter every visual on the page; in fact, visual interactions can be individually disabled, so the table may be intentionally or accidentally set to not respond.

383
MCQmedium

You manage a Power BI workspace used by the sales team. After updating a dataset with new columns, some users report that their reports show old data. You verify that the scheduled refresh completed successfully. What should you do first?

A.Open the report in Power BI Desktop, refresh the dataset, and republish.
B.Clear the users' browser cache.
C.Reconfigure the scheduled refresh to run more frequently.
D.Reset the on-premises data gateway.
AnswerA

Opening the report in Power BI Desktop and refreshing the dataset forces Power Query to re-evaluate the data source schema, including renamed, removed, or added columns. After the refresh, republishing the .pbix file overwrites the dataset in the Power BI service, replacing the stale metadata and ensuring the report's visuals and calculations bind to the current schema. This is the only option that directly updates the dataset definition, not just the data values.

Why this answer

When a dataset is updated with new columns in Power BI Desktop, the report's underlying data model must be refreshed and republished to the Power BI service. Even if the scheduled refresh completes successfully, it only refreshes the existing data structure; it does not automatically incorporate schema changes like new columns. Republishing the .pbix file ensures the service has the updated metadata and data.

Exam trap

The trap here is that candidates assume a successful scheduled refresh automatically propagates all changes, including schema modifications, when in fact it only refreshes data within the existing model structure.

How to eliminate wrong answers

Option B is wrong because clearing the users' browser cache would not resolve the issue of missing new columns; the report in the service still has the old schema. Option C is wrong because increasing the scheduled refresh frequency does not add new columns to the dataset; it only refreshes existing data. Option D is wrong because resetting the on-premises data gateway is unrelated to schema changes; the gateway handles data movement, not dataset structure updates.

384
MCQmedium

You are importing data from an Excel workbook that has multiple worksheets. You only need data from the 'Sales' worksheet. When you connect via Power Query, all worksheets appear in the Navigator. What should you do to load only the 'Sales' worksheet?

A.Load all worksheets, then delete the unwanted ones
B.Select the 'Sales' worksheet in Navigator and click 'Load'
C.Select all worksheets and click 'Load'
D.Select the 'Sales' worksheet and click 'Transform Data'
AnswerB

Selecting the 'Sales' worksheet in Navigator and clicking 'Load' directly imports only that table into Power BI, creating a single Power Query query for that worksheet. This is the most efficient path because it avoids loading unrelated worksheets, reduces memory consumption, and keeps the data model clean with only the needed fields. The Load action imports the data as a table that appears in the Fields pane, ready for use in reports, and it remains refreshable with the original workbook.

Why this answer

In Power Query, the Navigator pane allows you to select specific worksheets or tables to load. Selecting the 'Sales' worksheet and clicking 'Load' imports only that data into your data model, avoiding unnecessary data. This is the most efficient method because it directly targets the required worksheet without extra steps.

Exam trap

The trap here is that candidates may think they need to use 'Transform Data' to filter or select specific data, but the Navigator itself provides the selection capability, and 'Load' directly imports the chosen data without requiring transformation first.

How to eliminate wrong answers

Option A is wrong because loading all worksheets and then deleting unwanted ones is inefficient and introduces unnecessary data into the model, which can cause performance issues and clutter. Option C is wrong because selecting all worksheets and clicking 'Load' would import every worksheet, not just the 'Sales' data, defeating the purpose. Option D is wrong because selecting the 'Sales' worksheet and clicking 'Transform Data' opens the Power Query Editor for transformation, but does not load the data into the model until you explicitly apply and load; the question asks to load only the 'Sales' worksheet, not to transform it first.

385
Multi-Selectmedium

You are a data analyst for a utility company. You import a table named MeterReadings from an OData feed. The table contains a column named ReadingTimestamp that includes date and time. You need to create two new columns: one that contains only the date and one that contains only the hour of the day as a number (0–23). You want to use built-in Power Query transformations from the Add Column tab without writing custom formulas. Which two transformations should you use? (Choose two.)

Select 2 answers
A.Select ReadingTimestamp, then on the Add Column tab choose Time and select Hour.
B.Select ReadingTimestamp, then on the Add Column tab choose Date and select Year.
C.Select ReadingTimestamp, then on the Add Column tab choose Date and select Date Only.
D.Select ReadingTimestamp, then on the Add Column tab choose Time and select Duration.
E.Select ReadingTimestamp, then on the Add Column tab choose Date and select Month.
AnswersA, C

The Hour transformation from the Add Column tab creates a new column containing the hour of the day as a number from 0 to 23. This matches the requirement for an hour column and is a built-in operation. Using the Add Column tab preserves the original column and allows both derived columns to coexist.

Why this answer

To create a date-only column and an hour column from a timestamp, you use the Date Only transformation and the Hour transformation, both available on the Add Column tab. These are built-in, code-free operations that add new columns while keeping the original timestamp. Other date or time transformations extract different components and do not meet the stated requirements.

Exam trap

The trap here is choosing transformations that extract a single component, such as Year or Month, when the scenario asks for a full date-only column and an hour column.

386
Multi-Selecthard

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.)

Select 2 answers
A.Use Microsoft Sentinel to audit Power BI activity logs and flag non-certified 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.
D.Configure row-level security (RLS) on all datasets.
E.Set up B2B guest user permissions to restrict external data sources.
AnswersB, C

Enabling the 'Certification' tenant setting for dataflows activates the endorsement feature that lets authorized reviewers officially certify reusable dataflows. Once certified, those dataflows are the trusted building blocks that dataset authors can be required to use, and the tenant switch is a prerequisite for applying governance policies that mandate certified dataflows. Without this setting, dataflow certification is impossible, making it the correct control for enforcing that datasets use only certified dataflows.

Why this answer

To enforce that all datasets use certified data sources only, an administrator should enable certification for data sources (Option C) and enable certification for dataflows (Option B). Option C allows data source owners to certify data sources, and Option B allows dataflow owners to certify dataflows. Combined, these settings promote the use of certified components.

Option A (monitoring with Sentinel) only detects non-certified sources, it does not enforce. Option D (RLS) and Option E (B2B permissions) are unrelated to data source certification.

387
MCQhard

You receive the above JSON policy for a Power BI dataset. You need to add a relationship between the 'Sales' table and a 'Calendar' table in the same dataset. What must you modify in the JSON?

A.Add an object to the 'relationships' array.
B.Add a new table to the 'tables' array.
C.Change the 'version' field to '2.0'.
D.Add a measure that references the Calendar table.
AnswerA

In a Power BI/TMSL dataset, relationships are declared as dedicated objects within the model-level "relationships" array. Each object specifies the two participating tables (e.g., Calendar and Sales), the key columns on each side, cardinality, cross-filter direction, and optional filters. Without such an object, the model has no metadata linking tables, so adding this object is the only way to establish a relationship.

Why this answer

The correct answer is A: add an object to the 'relationships' array. In a Power BI dataset's JSON schema (as used in Tabular Model Scripting Language / TMSL and the dataset definition), relationships between existing tables are declared as entries in the top-level 'relationships' array, where each object specifies the fromTable, fromColumn, toTable, toColumn, and cardinality/crossFilteringBehavior. Since both the 'Sales' and 'Calendar' tables already exist in the dataset, the only required modification is to append a new relationship object describing that join.

Option B is wrong because adding a table to the 'tables' array would create a new table, not define a relationship between two existing ones. Option C is wrong because changing the 'version' field does not create a relationship and could break compatibility. Option D is wrong because a measure is a DAX calculation, not a relationship definition, and it would not establish the required join between the tables.

388
MCQhard

A Power BI report shows a bar chart with sales by region. When users click on a region, they expect a line chart on the same page to filter to that region's sales over time. However, the line chart does not respond to the click. What is the most likely cause?

A.The interaction between the bar chart and line chart is set to 'None'.
B.The line chart uses a continuous axis that cannot be filtered.
C.The bar chart is not set as a slicer.
D.The line chart has a legend with too many items.
AnswerA

In Power BI, visual interactions control whether a selected visual acts as a source filter for other visuals. If the interaction from the bar chart to the line chart is set to 'None', then selecting a bar will not propagate a filter to the line chart, leaving the trend unchanged. To make the line chart respond to region selection, the interaction must be set to 'Filter' (or 'Highlight'), which is the default for compatible visuals. This is the most likely cause of the behavior described, as the other options do not affect cross-filtering.

Why this answer

In Power BI, visual interactions control how one visual affects another when clicked. By default, cross-filtering and cross-highlighting are enabled, but if the interaction between the bar chart and line chart is explicitly set to 'None', clicking a region on the bar chart will not filter or highlight the line chart. This is the most common cause when a visual fails to respond to clicks on another visual.

Exam trap

The trap here is that candidates may think a visual must be a slicer to filter others, but Power BI allows any visual to cross-filter or cross-highlight other visuals by default, and the interaction setting is the key control.

How to eliminate wrong answers

Option B is wrong because a continuous axis does not prevent filtering; filtering applies to the underlying data, not the axis type. Option C is wrong because a bar chart does not need to be a slicer to filter other visuals; standard visuals can cross-filter or cross-highlight other visuals via visual interactions. Option D is wrong because a legend with many items does not prevent a visual from being filtered; it only affects the display of categories.

389
MCQmedium

You are loading data from a folder containing multiple Excel files with identical structure. Some files have inconsistent column names due to manual edits. You need to ensure that all data is loaded correctly without errors. What should you do in Power Query?

A.Use the 'Combine Files' feature with a sample file, then in the transformation step, promote headers and rename columns using a mapping table.
B.Use 'Merge Queries' to join the files based on row position.
C.Change the data source to a SharePoint folder and use 'Load to Data Model' directly.
D.In Power Query, use 'Enter Data' to manually create the schema.
AnswerA

When you connect to a folder, Power Query's Combine Files feature treats the first file as a sample, generates a binary parse function, and applies it across all files. After combining, you typically promote the file's initial data row to headers and then use a mapping table to rename arbitrary column titles (e.g., 'Price', 'PRICE', 'pricing') to a consistent schema. This standardizes variations across workbooks and avoids duplicate or misaligned columns when loading into the data model. It also allows you to dynamically refresh as new files are added, reusing the same transformation logic.

Why this answer

The 'Combine Files' feature in Power Query uses a sample file to infer the schema, and then you can apply transformations like promoting headers and renaming columns using a mapping table to handle inconsistent column names across files. This ensures all data loads without errors by standardizing the column names before combining.

Exam trap

The trap here is that candidates assume 'Combine Files' works automatically without any transformation steps, overlooking the need to handle inconsistent column names, which leads to errors during data load.

How to eliminate wrong answers

Option B is wrong because 'Merge Queries' joins tables based on matching columns or row positions, but it does not resolve inconsistent column names across multiple files; it would fail or produce incorrect results if column names differ. Option C is wrong because changing the data source to a SharePoint folder and using 'Load to Data Model' directly does not address the column name inconsistency; Power Query would still encounter errors when combining files with mismatched headers. Option D is wrong because 'Enter Data' manually creates a static table schema, which cannot dynamically adapt to multiple Excel files with varying column names, and it does not automate the loading process.

390
MCQhard

You are building a data model for a retail company. The 'Sales' fact table has a column 'Discount' that is a percentage (0 to 1). You create a measure 'Total Discount Amount' = SUM(Sales[Discount]) * SUM(Sales[Quantity]) * SUM(Sales[UnitPrice]). However, the measure returns incorrect results when multiple discount percentages exist in the same filter context. What is the issue?

A.The measure contains a circular dependency.
B.The measure is performing aggregations at the wrong granularity; it should use SUMX to iterate over each row.
C.The measure is referencing columns from different tables without proper relationships.
D.The Discount column should be of type Decimal instead of Percentage.
AnswerB

The measure is performing aggregations at the wrong granularity; it should use SUMX to iterate over each row. Using a simple SUM for the revenue calculation multiplies the total sales by the total discount rate, rather than computing the discounted amount for each individual transaction. SUMX creates a row context, evaluates the expression for every row (e.g., Sales[SalesAmount] * (1 - Sales[Discount])), and then sums those intermediate results, ensuring accurate row-level arithmetic before aggregation.

Why this answer

The measure uses SUM on each column individually, which aggregates all values in the filter context before multiplying. When multiple discount percentages exist, this incorrectly multiplies the total of all discounts by the total of all quantities and total of all unit prices, rather than computing discount per row. The correct approach is to use SUMX to iterate over each row of the Sales table, calculating Discount * Quantity * UnitPrice per row and then summing those row-level results, ensuring accurate granularity.

Exam trap

The trap here is that candidates often assume SUM works correctly for all multiplicative measures, overlooking that SUM aggregates before multiplication, while SUMX is required for row-by-row calculations in DAX.

How to eliminate wrong answers

Option A is wrong because a circular dependency occurs when a measure or column references itself directly or indirectly, which is not the case here; the measure simply uses SUM on three columns. Option C is wrong because the measure references columns only from the Sales table, so no cross-table relationship issue exists. Option D is wrong because the data type of Discount (Percentage vs Decimal) does not affect the aggregation logic; the core problem is the aggregation granularity, not the column type.

391
MCQmedium

You are building a Power BI report for a manufacturing company. You have a large fact table with 50 million rows in Azure SQL Database. You need to minimize the data refresh time and ensure that only new or changed rows are loaded. The source table has a LastModifiedDate column. What should you do?

A.Enable query folding in Power Query to push filters to the source.
B.Configure incremental refresh on the table using the LastModifiedDate column.
C.Schedule a full refresh every hour.
D.Create a Power BI dataflow that performs a full load and then use that dataflow as a source.
AnswerB

Configuring incremental refresh on the LastModifiedDate column is the correct approach because it partitions the table by date ranges and only queries partitions that contain new or changed rows since the last refresh. Power BI stores a rolling window of historical partitions and creates new partitions for each refresh period, drastically reducing the amount of data read from the source and the time required. To implement this, you must define RangeStart and RangeEnd parameters in Power Query and set the incremental refresh policy in the dataset. This directly addresses the challenge of a 50-million-row table that needs near-real-time updates without re-loading the entire table each time.

Why this answer

Incremental refresh in Power BI allows you to load only new or changed rows from a large fact table by filtering on a date/time column such as LastModifiedDate. This minimizes data refresh time by avoiding a full reload of all 50 million rows, and it leverages the source system's ability to efficiently query only the modified data. Power Query pushes the filter logic to Azure SQL Database via query folding, ensuring optimal performance.

Exam trap

The trap here is that candidates often confuse query folding with incremental refresh, thinking that enabling query folding alone will automatically load only new rows, but query folding only optimizes the pushdown of existing filters—it does not create the filtering logic needed for incremental loading.

How to eliminate wrong answers

Option A is wrong because enabling query folding alone does not limit the data loaded to only new or changed rows; it only ensures that filters are pushed to the source, but without incremental refresh, Power Query would still attempt to load the entire table on each refresh. Option C is wrong because scheduling a full refresh every hour would reload all 50 million rows each time, which is inefficient and contradicts the requirement to minimize refresh time. Option D is wrong because creating a dataflow that performs a full load and then using that dataflow as a source does not reduce the initial data volume or refresh time; it simply adds an extra layer without addressing the need for incremental loading.

392
Multi-Selectmedium

Which TWO are valid methods to handle null values in Power Query? (Choose two.)

Select 2 answers
A.Use the 'Fill Down' or 'Fill Up' option to propagate non-null values into null cells.
B.Remove rows that contain null values using the 'Remove Rows' > 'Remove Blank Rows' option.
C.Replace null values with a default value using the 'Replace Values' transform.
D.Merge the table with another table that has no nulls.
E.Change the data type of the column to a non-nullable type.
AnswersA, C

Fill Down and Fill Up are correct null-handling techniques in Power Query. Fill Down copies the last non-null value above into subsequent null cells until another non-null value is encountered; Fill Up works in the reverse direction. This is ideal for sparse columns where nulls represent the previous known value, such as period-end totals or grouping labels, though leading or trailing nulls may remain when there is no non-null value to propagate.

Why this answer

'Fill Down' and 'Fill Up' propagate the last non-null value into adjacent null cells. Option C is correct because 'Replace Values' can replace nulls with a default value. Option B is incorrect: 'Remove Blank Rows' removes rows where all cells are blank, not rows with nulls in specific columns.

Option D is not a direct method for handling nulls; merging may introduce new data but does not handle existing nulls. Option E is invalid because changing to a non-nullable type causes errors.

Exam trap

Candidates often mistakenly believe that 'Remove Blank Rows' handles null values, but it only removes rows that are entirely blank. To remove rows with nulls in specific columns, use filtering or 'Remove Rows' > 'Remove Duplicates' is not applicable. The correct methods are Fill, Replace, or filtering.

393
MCQhard

You are a Power BI developer for a financial services company. The company has a large transactional database in Azure Synapse Analytics. The database contains a table 'Transactions' with 2 billion rows. The table includes columns: TransactionID, AccountID, TransactionDate, Amount, Type (Deposit/Withdrawal), Status (Pending/Completed). You need to build a Power BI semantic model that allows executives to analyze monthly trends of completed deposit amounts by account type (e.g., Savings, Checking). The account type is in a separate 'Accounts' table (1 million rows) with columns: AccountID, AccountType, CustomerID. The model must refresh within 2 hours. Due to the large data volume, you cannot import the entire Transactions table. What should you do?

A.Use incremental refresh to import only recent data, and use DirectQuery for older data.
B.Import only the necessary columns and use Power BI aggregations to pre-aggregate.
C.Use DirectQuery on the full Transactions table and rely on the Synapse query optimizer.
D.Create an aggregated table in Synapse that pre-aggregates data at the month and account type level, then use DirectQuery on the aggregated table, and use a composite model with the detail table for drill-through.
AnswerD

Pre-aggregating in Synapse—for example via CTAS to create a month/account-type grain—shrinks the dataset from tens of billions of rows to a few thousand, so a DirectQuery connection to that aggregate answers all high-level visuals with near-instant response times. The composite model adds the original detail table (imported in a reduced form or also DirectQuery) strictly for drill-through when a user clicks a specific period/account; because drill-through filters to a single account and month first, the detail query touches a modest subset. This is the classic navigation strategy: use aggregated DirectQuery tables for high-cardinality facts, and keep fine-grained details available only when needed, which balances performance, freshness, and interactivity.

Why this answer

Option D is correct because it pre-aggregates the 2 billion-row Transactions table in Synapse at the month and account type grain, which drastically reduces the data volume Power BI must query, and then uses DirectQuery on that small aggregated table so refreshes complete well within the 2-hour window; the composite model with the detail table preserves drill-through to transaction-level detail when needed. Option A is wrong because mixing incremental refresh (Import) with DirectQuery for older data still requires importing large volumes and does not aggregate the 2 billion rows, so it will not reliably meet the 2-hour refresh. Option B is wrong because Power BI aggregations still depend on importing or querying the underlying detail, and importing only necessary columns from 2 billion rows remains too large for the refresh SLA.

Option C is wrong because DirectQuery over the full 2 billion-row Transactions table pushes all aggregation work to Synapse at query time, producing slow executive reports and no pre-aggregation benefit.

Exam trap

The trap is that candidates may think Power BI aggregations (Option B) are sufficient, but they do not reduce the data volume for import; the correct approach is to pre-aggregate at the source (Synapse) and use a composite model for drill-through.

394
MCQeasy

You need to audit which users have accessed a specific Power BI dashboard in the last 30 days. What should you use?

A.Microsoft Sentinel.
B.Power BI Activity Log (audit log) in the Microsoft 365 admin center.
C.Microsoft Purview compliance portal.
D.Power BI REST API 'Get Datasets' endpoint.
AnswerB

The Power BI activity log is part of the Microsoft 365 unified audit log and serves as the authoritative record for user actions such as viewing a dashboard or opening a report. This log is visible in the Microsoft 365 admin center under the audit log search, where you can filter by activities like ViewDashboard and ViewReport to see who accessed the item, when, and from which client. The audit log automatically captures the user ID, item name, and timestamp for every Power BI interaction, provided auditing is enabled in your tenant. This makes the activity log in the Microsoft 365 admin center the correct answer for auditing user access to a specific Power BI dashboard.

Why this answer

The Power BI Activity Log (audit log) in the Microsoft 365 admin center is the correct tool because it records user activities such as viewing dashboards and reports, and it can be filtered by date range (e.g., last 30 days) and by item to identify exactly which users accessed a specific dashboard. It captures events like ViewDashboard and ViewReport with user, timestamp, and artifact details, which is precisely what this audit requires. Microsoft Sentinel is a SIEM for security analytics and would only have this data if the Power BI logs were explicitly ingested, so it is not the direct source.

Microsoft Purview compliance portal focuses on data governance, classification, and compliance rather than Power BI usage auditing. The Power BI REST API 'Get Datasets' endpoint only returns dataset metadata and does not provide user access activity.

395
MCQeasy

You are a Power BI administrator. A user reports that they are unable to share a dashboard with an external user from a partner organization. The external user has a Microsoft Entra ID account in their own tenant. What is the most likely reason?

A.External users cannot view Power BI content; they need a Power BI license.
B.The 'Share content with external users' tenant setting is disabled.
C.The dashboard is based on a dataset that uses RLS and the external user is not in the role.
D.External users must be added as members in the same tenant.
AnswerB

The 'Share content with external users' tenant setting is a Power BI admin control that, when disabled, prevents users from sharing dashboards, reports, and apps with anyone outside the organization. If this setting is turned off, the share option for external users will be unavailable or result in an error, even if the external user is already a guest in the tenant. To resolve the issue, the administrator must enable this setting in the Power BI admin portal.

Why this answer

The correct answer is B: the 'Share content with external users' tenant setting is disabled. In Power BI, an administrator must enable the 'Share content with external users' setting in the Admin portal (Tenant settings) before users can share dashboards and reports with Microsoft Entra ID (Azure AD) B2B guest users from other tenants, so if it is off, sharing attempts fail regardless of the external user's account. Option A is wrong because external users can view Power BI content once properly licensed and invited; a license may be required but that is not the most likely blocker described.

Option C is wrong because RLS would only filter data for an already-authorized viewer, not prevent the share action itself. Option D is wrong because external users are added as B2B guest users in the host tenant, not as members, and this is not the reason sharing is blocked.

396
MCQeasy

You need to create a calculated column in Power BI that categorizes sales amounts as 'Low', 'Medium', or 'High' based on the value. The column should be evaluated row by row. Which DAX function should you use?

A.SWITCH
B.IF
C.CALCULATE
D.FORMAT
AnswerA

SWITCH is the correct choice because it evaluates a single expression against a list of possible values and returns the corresponding result, making it ideal for creating multi-category calculated columns such as 'Low', 'Medium', or 'High'. Unlike nested IF functions, SWITCH keeps the logic linear and readable, and it can evaluate true/false conditions when used with a leading TRUE(), providing a clean row-level classification without context transition complexity.

Why this answer

SWITCH is the correct DAX function because it evaluates an expression (the sales amount) against a series of conditions and returns a corresponding result for each condition. In this scenario, you can use SWITCH(TRUE(), [Sales] < 1000, 'Low', [Sales] < 5000, 'Medium', 'High') to create a calculated column that categorizes values row by row. SWITCH is designed for multiple conditional branches, making it the most efficient and readable choice for this three-tier categorization.

Exam trap

The trap here is that candidates often choose IF because they are familiar with it from Excel, but SWITCH is the preferred DAX function for multiple conditions in Power BI, and the exam tests this distinction to see if you understand DAX-specific best practices.

How to eliminate wrong answers

Option B is wrong because IF is a nested function that becomes cumbersome and error-prone when handling more than two conditions; using IF for three categories would require nested IF statements, which is less efficient and harder to maintain than SWITCH. Option C is wrong because CALCULATE modifies filter context and evaluates an expression in a modified context, but it does not perform row-by-row conditional logic for categorizing values in a calculated column. Option D is wrong because FORMAT is used to convert a value to text based on a format string, not to evaluate logical conditions and return custom categories.

397
MCQmedium

You are designing a Power BI report that will be viewed on mobile devices. The report includes many visuals. What is the best practice for optimizing the report layout for mobile?

A.Create a mobile-optimized layout using the Phone layout view.
B.Use a table visual to display all data.
C.Use bookmarks to navigate between different views.
D.Reduce the number of visuals to one per page.
AnswerA

The Phone layout view is a dedicated design canvas in Power BI Desktop where you can create a separate, mobile-optimized version of each report page. It lets you reorder, resize, and hide visuals to fit a portrait phone screen, ensuring a touch-friendly and readable experience. This is the official, supported method for tailoring reports to mobile viewing rather than relying on automatic reflow.

Why this answer

The correct answer is A: Create a mobile-optimized layout using the Phone layout view. Power BI Desktop provides a dedicated Phone layout view where you can rearrange, resize, and hide visuals specifically for portrait mobile screens, ensuring the report is readable and usable on phones without affecting the desktop layout. Options B, C, and D do not address mobile layout optimization: a single table visual is not a layout best practice, bookmarks are for navigation rather than responsive design, and limiting to one visual per page is an arbitrary restriction that does not optimize the mobile experience.

398
MCQmedium

You have a report that uses a live connection to a Power BI dataset. You want to add a table visual that shows sales by product, but you notice that you cannot add a calculated column. What is the reason?

A.Live connections require row-level security which prevents calculated columns.
B.Table visuals are not supported with live connections.
C.You need to enable 'Allow calculations' in the dataset settings.
D.Live connections do not support calculated columns; they must be created in the source dataset.
AnswerD

Live connections connect the report directly to an existing Power BI dataset or Analysis Services tabular model and expose only the model objects already defined there. Calculated columns are schema-level objects that require a storage engine and a row context to compute; the live connection provides neither, so they cannot be created inside the report. The fix is to add the column in the source semantic model and then refresh the report's metadata.

Why this answer

The correct answer is D: with a live connection to a Power BI dataset, the report is bound directly to the published dataset's model, so calculated columns cannot be authored in the report and must instead be created in the source dataset (using Power BI Desktop or the dataset's modeling features). This is because live connections only allow report-level visuals and measures, not modifications to the underlying tabular model. Option A is incorrect because row-level security is unrelated to preventing calculated columns.

Option B is incorrect because table visuals are fully supported over live connections. Option C is incorrect because there is no 'Allow calculations' setting in dataset settings that enables calculated columns for live-connected reports.

399
MCQeasy

You need to grant a user the ability to manage permissions on a Power BI workspace but not to view or edit the content. What minimum role should you assign?

A.Contributor
B.Viewer
C.Member
D.Admin
AnswerD

Admin can manage permissions, but it also allows viewing and editing content; there is no role that manages permissions without content access.

Why this answer

The Admin role is the only workspace role that can manage permissions and membership, even though it also allows viewing and editing content. The minimum role required to manage permissions is Admin. Option A is incorrect because Contributor can view and edit content but cannot manage permissions.

Option B is incorrect because Viewer can only view content and cannot manage permissions. Option C is incorrect because Member can view and edit content but cannot manage permissions.

Exam trap

Note that the Admin role still allows viewing and editing content; it is not a permissions-only role. The minimum role to manage permissions is Admin, but it comes with full content access.

400
Multi-Selectmedium

Which TWO of the following are best practices for designing Power BI reports for accessibility? (Select TWO.)

Select 2 answers
A.Provide alternative text for visuals.
B.Use animations to draw attention.
C.Ensure sufficient color contrast between text and background.
D.Use a variety of colors to differentiate data points.
E.Use small font sizes to fit more data.
AnswersA, C

Alternative text for visuals in Power BI provides screen readers with a concise, meaningful description of the chart's message, not just its type. When you set alt text on a visual, it should convey the key insight or conclusion so users with visual impairments can understand the report without seeing the graphic. This is a WCAG 2.1 success criterion and a best practice because it makes the report's narrative accessible to all users, and it also helps when the report is exported or embedded where the visual itself might not render.

Why this answer

Option A is correct because providing alternative text (alt text) for visuals lets screen readers announce a meaningful description of each chart, image, or shape, which is a core accessibility requirement in Power BI. Option C is correct because sufficient color contrast between text and background ensures that low-vision users and people viewing reports in bright environments can read content, and Power BI's Accessibility Checker flags insufficient contrast. Option B is not recommended because animations can distract users and may cause issues for people with cognitive or vestibular sensitivities, and they are not an accessibility best practice.

Option D is not ideal because relying on color alone to differentiate data points excludes color-blind users; accessible designs should add labels, shapes, or patterns instead. Option E is wrong because small font sizes reduce readability; accessible reports should use legible font sizes rather than shrinking text to fit more data.

401
Multi-Selecthard

Which THREE of the following are required to configure Microsoft Purview Information Protection sensitivity labels for Power BI? (Choose three.)

Select 3 answers
A.Each user must have a Power BI Pro license.
B.Have a Power BI Premium capacity assigned to the workspace.
C.Users must have appropriate permissions (e.g., Azure Information Protection rights) to apply labels.
D.Sensitivity labels must be published in the Microsoft 365 Compliance Center.
E.Enable sensitivity labels in the Power BI admin tenant settings.
AnswersC, D, E

To apply sensitivity labels, a user's identity must have the appropriate rights defined in the label itself via Azure Information Protection (now Microsoft Purview Information Protection). This is usually accomplished by adding the user to the label's 'Viewer' or 'Editor' permission list, which grants them the right to see and modify content protected by that label. Without these rights, the label will appear in the picker but the user will receive an error when trying to apply it, because the label's encryption policy forbids them from doing so. Delegating these rights to individual users or groups is an explicit configuration action that must be performed outside of Power BI.

Why this answer

Option C is correct because applying a sensitivity label to a Power BI artifact requires the user to hold the appropriate usage rights, such as Azure Information Protection (AIP) rights, so the label's protection settings can be enforced on the item. Option D is correct because sensitivity labels must first be created and published to the relevant users from the Microsoft 365 Compliance Center (Microsoft Purview compliance portal) before they become available for use in Power BI. Option E is correct because an admin must enable sensitivity labels for Power BI in the Power BI admin portal tenant settings; otherwise the labeling feature remains unavailable in the service and Desktop.

Option A is not required because sensitivity labels are not gated on a Power BI Pro license specifically, and Option B is not required because labeling works without assigning the workspace to a Power BI Premium capacity.

402
MCQeasy

A company has a Power BI semantic model that uses DirectQuery to a SQL Server database. The model contains a large fact table with sales data. Users report that reports using this model are slow. Which design change would most improve query performance?

A.Remove all relationships between tables.
B.Switch the model to Import mode.
C.Remove unnecessary columns from the fact table.
D.Disable the 'Reduce queries' option in report settings.
AnswerC

Removing unnecessary columns from the fact table is correct because DirectQuery operates by pushing queries back to the source, and every extraneous column widens the SELECT statement, increasing network transfer and source-side processing. A narrower fact table means fewer columns are scanned and materialized for each visual interaction, which directly reduces query latency and memory overhead. This is a standard column-pruning practice for DirectQuery performance tuning.

Why this answer

Removing unnecessary columns from the fact table reduces the amount of data that must be transferred from SQL Server to Power BI for each query. In DirectQuery mode, every report interaction sends a query to the source database, so fewer columns mean smaller result sets and faster query execution. This directly addresses the performance bottleneck caused by a large fact table without changing the underlying storage mode.

Exam trap

The trap here is that candidates often assume switching to Import mode is always the best performance fix, but the question specifically asks for a design change that improves query performance in DirectQuery mode, where reducing column count is a more targeted and less disruptive solution.

How to eliminate wrong answers

Option A is wrong because removing all relationships between tables would break the model's ability to filter and aggregate data across tables, making reports unusable and not improving query performance. Option B is wrong because switching to Import mode would require loading the entire large fact table into memory, which could cause memory pressure and long refresh times, and it does not address the root cause of slow queries in DirectQuery mode. Option D is wrong because disabling the 'Reduce queries' option in report settings would actually increase the number of queries sent to the source, making performance worse, not better.

403
Multi-Selecteasy

Which TWO actions are required when configuring a Power BI dataset to use incremental refresh?

Select 2 answers
A.Set the dataset storage mode to DirectQuery.
B.Enable query caching on the dataset.
C.Create a calculated table to store the refresh history.
D.Set the incremental refresh policy in the dataset settings.
E.Define rangeStart and rangeEnd parameters in Power Query.
AnswersD, E

Setting the incremental refresh policy in the dataset settings is the central action because it defines the refresh window (e.g., how many days of data to refresh), the date column used for filtering, and options like retaining historical data. This policy tells Power BI to create time-bounded partitions for the tables and determines which partitions are refreshed in a given run. Without this policy, Power Query parameters alone cannot trigger incremental refresh.

Why this answer

Option E is correct because incremental refresh in Power BI requires two Power Query parameters named exactly rangeStart and rangeEnd (both of type DateTime), which define the filter window applied to the table's date column so Power BI can partition and refresh only the relevant ranges. Option D is correct because, after publishing the dataset, you must configure the incremental refresh policy (via the dataset's settings in the Power BI service, or by right-clicking the table in Power BI Desktop and selecting Incremental refresh) to specify the historical and incremental periods that determine how partitions are created and refreshed. Option A is incorrect because incremental refresh works with Import mode datasets and does not require DirectQuery storage mode.

Option B is incorrect because query caching is a separate performance feature and is not a prerequisite for incremental refresh. Option C is incorrect because Power BI automatically manages the refresh history and partition metadata internally; no user-created calculated table is needed.

Exam trap

The trap here is that candidates often confuse the required steps (defining parameters and setting the policy) with optional or unrelated features like query caching or storage mode changes, leading them to select options A or B.

404
MCQmedium

A data model contains a table 'Sales' with columns: Date, ProductID, Quantity, Amount. There is a 'Products' table with columns: ProductID, ProductName, CategoryID. A measure 'Total Sales' = SUM(Sales[Amount]) returns correct values. However, when a user creates a visual with CategoryID from 'Products' and 'Total Sales', some categories show blank. What is the most likely cause?

A.There are ProductID values in Sales that do not exist in Products table.
B.The 'Total Sales' measure is not properly referencing the Sales table.
C.The relationship between Sales and Products is set to many-to-one, single direction.
D.The relationship is set to both directions (bidirectional).
AnswerA

In a one-to-many relationship between Products and Sales, every ProductID in Sales must have a matching ProductID in Products for the related attribute (e.g., Category) to be populated. If Sales contains ProductID values not present in Products, those rows participate in the relationship as unmatched orphans, so the lookup column from Products is blank. As a result, any visual that slices or groups by Category shows a blank bucket that aggregates the sales from those orphaned ProductID values.

Why this answer

When ProductID values in the Sales table do not have matching entries in the Products table, the relationship between the two tables will result in blank CategoryID values for those unmatched rows. In Power BI, a many-to-one relationship (the default) filters from the 'one' side (Products) to the 'many' side (Sales), but if a Sales row has a ProductID not present in Products, it cannot be matched, and any column from Products (like CategoryID) will appear as blank in visuals. This is a classic data integrity issue where the fact table contains orphaned foreign keys.

Exam trap

The trap here is that candidates often assume the relationship direction or cross-filter setting is the culprit, but the real issue is data integrity—orphaned foreign keys in the fact table—which is a common data modeling pitfall tested in the PL-300 exam.

How to eliminate wrong answers

Option B is wrong because the measure 'Total Sales' = SUM(Sales[Amount]) explicitly references the Sales table, and the question states it returns correct values, so the measure definition is not the issue. Option C is wrong because a many-to-one, single-direction relationship is the default and correct configuration for this scenario; it does not cause blanks for unmatched rows—it simply means the filter context flows from Products to Sales, but orphaned Sales rows still produce blanks in Products columns. Option D is wrong because bidirectional cross-filtering would not fix the blank issue; it would allow filters to flow in both directions but still cannot match a Sales row with a ProductID that has no corresponding row in Products.

405
Multi-Selecthard

You are a Power BI administrator. You need to configure a data loss prevention (DLP) policy in Microsoft Purview to protect sensitive information in Power BI. The policy must detect and restrict sharing of reports that contain credit card numbers. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Configure a data gateway to scan Power BI datasets for sensitive data.
B.Enable the tenant setting 'Allow users to apply sensitivity labels to their content'.
C.Create a DLP policy in Microsoft Purview that applies to the Power BI workload.
D.Define a sensitive information type for credit card numbers and add it to the DLP policy rules.
E.Publish the DLP policy to all users in the organization.
AnswersC, D

A DLP policy must be created in Microsoft Purview and scoped to the Power BI workload to monitor and protect Power BI content. This is the foundational step to enable detection and enforcement for Power BI items. Without this policy, no DLP rules will apply to Power BI.

Why this answer

To detect and restrict sharing of Power BI reports containing credit card numbers, you must create a DLP policy that applies to the Power BI workload and define rules that include a sensitive information type for credit card numbers. These two actions enable detection and enforcement. Other actions, such as enabling label application or using a gateway, do not provide DLP detection for Power BI content.

Exam trap

The trap here is assuming that enabling sensitivity labels or using a data gateway will provide DLP detection, when DLP requires a policy scoped to Power BI with appropriate sensitive information types.

406
MCQmedium

You are a data analyst at a retail company. You have a Power BI semantic model that imports sales data from an Azure SQL Database. The database uses a timestamp column to track transaction time. You need to reduce the data refresh time and ensure that only the last 30 days of data are refreshed during each scheduled refresh. You have already created the necessary parameters rangeStart and rangeEnd in Power Query. What should you do next to implement incremental refresh?

A.In the Power BI service, go to the dataset settings and configure the scheduled refresh.
B.In Power Query Editor, apply the rangeStart and rangeEnd filters to the data and then close and apply.
C.In the Power BI service, create a new refresh schedule and set the incremental refresh period.
D.In Power BI Desktop, on the model view, select the table and set the incremental refresh policy.
AnswerD

In Power BI Desktop, selecting the table in Model view opens the Properties pane, where the Incremental refresh control lets you define the archive period, the incremental period, and the RangeStart/RangeEnd parameters. This policy is saved into the data model and, after publishing, the Power BI service uses it to create date-based partitions and refresh only the partitions that fall within the incremental window. This is the intended, supported way to establish incremental refresh.

Why this answer

Incremental refresh policies are defined in Power BI Desktop on the model view, not in the service or by simply filtering in Power Query. After creating the rangeStart and rangeEnd parameters, you must select the table in the Model view, open the incremental refresh policy dialog, and configure the policy to filter data based on those parameters, ensuring only the last 30 days are refreshed.

Exam trap

The trap here is that candidates confuse filtering in Power Query Editor with setting an incremental refresh policy, not realizing that only the latter creates the partitioned refresh behavior required to reduce data refresh time.

How to eliminate wrong answers

Option A is wrong because configuring scheduled refresh in the Power BI service only sets the refresh frequency; it does not implement incremental refresh filtering. Option B is wrong because applying rangeStart and rangeEnd filters in Power Query Editor without setting an incremental refresh policy will still refresh the entire dataset, not just the last 30 days. Option C is wrong because creating a new refresh schedule in the Power BI service does not define incremental refresh; the policy must be set in Power BI Desktop before publishing.

407
Multi-Selecteasy

You are importing data from an Excel workbook. The workbook has multiple sheets. You want to combine two sheets that have the same columns but different row data. Which TWO Power Query operations can you use?

Select 2 answers
A.Merge Queries
B.Group By
C.Append Queries
D.Pivot Column
E.Append Queries as New
AnswersC, E

Append Queries is the Power Query operation that stacks the rows of one query or table below those of another, requiring both tables to have the same or compatible column structures. It performs a vertical concatenation equivalent to SQL UNION, adding the entire set of rows from the second query to the first query's existing data. This exactly satisfies the requirement to consolidate rows from an Excel workbook into a single table.

Why this answer

Append Queries (C) is correct because appending stacks the rows of two tables that share the same column structure, which is exactly the goal of combining two sheets with identical columns but different row data. Append Queries as New (E) is also correct because it performs the same row-stacking operation but outputs the result to a new query instead of modifying an existing one, preserving the original queries. Merge Queries (A) is incorrect because it joins tables horizontally by matching key columns, adding columns rather than rows.

Group By (B) is incorrect because it aggregates rows into summary values, not concatenates datasets. Pivot Column (D) is incorrect because it reshapes data by turning unique row values into new columns, which does not combine row data from two sheets.

Exam trap

The trap here is that candidates confuse 'Merge' (horizontal join) with 'Append' (vertical union), or think only one of the Append options is valid, but both 'Append Queries' and 'Append Queries as New' are correct operations for combining rows.

408
MCQeasy

You have a Power BI data model with a 'Sales' fact table and a 'Date' dimension. You need to create a calculated column in the 'Sales' table that shows the fiscal year based on a 'Date' column. The fiscal year starts on July 1. Which DAX expression should you use?

A.SWITCH(TRUE(), MONTH(Sales[Date]) >= 7, YEAR(Sales[Date]), YEAR(Sales[Date])-1)
B.YEAR(Sales[Date])
C.YEAR(Sales[Date]) + 1
D.FORMAT(Sales[Date], "YYYY")
AnswerA

SWITCH(TRUE(), MONTH(Sales[Date]) >= 7, YEAR(Sales[Date]), YEAR(Sales[Date]) - 1) evaluates boolean conditions sequentially; for any date with month 7 or later it returns the current calendar year, which equals the fiscal year for a July-start fiscal year. For months January through June, it subtracts one, correctly assigning those dates to the prior fiscal year. This expression returns an integer, preserving numeric sorting and supporting direct use in relationships or calculated columns.

Why this answer

It uses SWITCH with TRUE() to evaluate a logical condition: if the month of the date is July or later (MONTH >= 7), it returns the current year; otherwise, it returns the previous year. This correctly implements a fiscal year starting on July 1, as required.

Exam trap

The trap here is that candidates often assume YEAR() alone is sufficient for fiscal year calculations, overlooking the need to adjust for the fiscal year start month, or they incorrectly add 1 to all years instead of conditionally shifting only the first half of the calendar year.

How to eliminate wrong answers

Option B is wrong because YEAR(Sales[Date]) returns the calendar year, not the fiscal year, so dates from January to June would be assigned to the wrong fiscal year. Option C is wrong because YEAR(Sales[Date]) + 1 always adds one year, which would incorrectly shift all dates forward by one year, not handle the July 1 start. Option D is wrong because FORMAT(Sales[Date], 'YYYY') simply returns the calendar year as a text string, with no fiscal year logic applied.

409
MCQhard

You are creating a Power BI report that uses a composite model (DirectQuery for large tables and Import for small dimension tables). You want to ensure that measures referencing the DirectQuery tables are responsive. Which of the following design choices should you avoid?

A.Use complex time intelligence measures that iterate over the fact table
B.Use measures that aggregate columns rather than rows
C.Create a date dimension table imported from the source
D.Create user-defined aggregations for the DirectQuery table
AnswerA

Correct. In a composite model, the large fact table typically remains in DirectQuery to avoid memory pressure, but measures that iterate row-by-row (e.g., SUMX, or time-intelligence functions that scan a period) will force the DAX engine to issue multiple or very broad SQL queries against the remote source. Each iteration may expand into a separate query or pull large result sets, causing severe latency and poor report responsiveness. Time intelligence that needs to re-evaluate the fact table for each date context is especially costly and should be avoided in DirectQuery-heavy models.

Why this answer

The design choice to avoid is A: complex time intelligence measures that iterate over the fact table, because in a composite model the DirectQuery fact table is queried remotely, and row-by-row iteration (e.g., SUMX over the fact table) forces expensive, non-foldable queries that hurt responsiveness. Measures that aggregate columns (B) can often be folded into a single SQL GROUP BY, so they are efficient. Importing a date dimension (C) is a recommended pattern because it keeps time intelligence calculations local and foldable.

User-defined aggregations (D) are also recommended, as they cache pre-aggregated DirectQuery data and improve query performance.

410
MCQhard

You are building a Power BI semantic model that combines data from an on-premises SQL Server database and a SharePoint Online list. The SQL Server table contains 10 million rows and updates hourly. The SharePoint list contains 500 rows and updates daily. You need to minimize the data load time and ensure the model refreshes within the scheduled 30-minute window. What should you do?

A.Use DirectQuery for the SQL Server table and Import mode for the SharePoint list.
B.Set both tables to DirectQuery mode.
C.Set the SQL Server table to Dual mode and the SharePoint list to Import mode.
D.Import both tables into the model and disable incremental refresh.
AnswerA

DirectQuery for the SQL Server table is correct because it keeps the 10-million-row table out of the model's memory, avoiding a long and costly import/refresh; queries are pushed to SQL Server at report time. The SharePoint list, which is small, is well-suited to Import mode because SharePoint Online does not support DirectQuery, and importing it enables fast, in-memory performance and full modeling capabilities like calculated columns and relationships.

Why this answer

Using DirectQuery for the large SQL Server table (10M rows, hourly updates) avoids importing all rows into the model, significantly reducing data load time and memory usage. Import mode for the small SharePoint list (500 rows, daily updates) is appropriate since it loads quickly and supports full DAX functionality, while the combination keeps the total refresh within the 30-minute window.

Exam trap

The trap here is that candidates often assume Import mode is always best for performance, but for very large tables with frequent updates, DirectQuery avoids the bottleneck of importing millions of rows, while small tables are better imported to avoid live query overhead.

How to eliminate wrong answers

Option B is wrong because setting both tables to DirectQuery mode would force the SharePoint list to be queried live, which can introduce latency for each report interaction and may not support all DAX functions, plus it doesn't leverage the small size of the SharePoint data for fast import. Option C is wrong because Dual mode is designed for tables that need to serve both as a dimension table in Import mode and as a DirectQuery source, but it doesn't solve the load-time issue for the large SQL Server table—it still requires importing the data, which would exceed the 30-minute window. Option D is wrong because importing both tables, even with incremental refresh disabled, would require loading the full 10M rows from SQL Server on each refresh, which is likely to exceed the 30-minute window and consume excessive memory.

411
MCQhard

You are designing a report for executives. The report contains a matrix visual with many rows and columns. Users complain that the visual is slow to render. Which design change would most improve performance?

A.Switch to a table visual.
B.Add more filters to the visual.
C.Use a drill-down hierarchy instead of expanding all levels.
D.Increase the number of measures in the matrix.
AnswerC

Using a drill-down hierarchy is correct because it structures the matrix fields into expandable levels, so Power BI only loads and renders the top-level rows for the initial view. When a user expands a level, the next level is queried and displayed, which dramatically reduces the initial data load and rendering time. This approach also improves user experience by presenting a summary first and enabling context-specific exploration, while leveraging the matrix visual's native expand/collapse capability to minimize the memory and query footprint.

Why this answer

Aggregating data at a higher level reduces the number of data points, improving performance. Drilling down can still provide detail when needed.

412
Multi-Selecteasy

Which TWO visuals are most suitable for showing the distribution of a single numeric variable? (Choose two.)

Select 2 answers
A.Pie chart
B.Scatter chart
C.Box and whisker plot
D.Histogram
E.Bar chart
AnswersC, D

A box and whisker plot (box plot) summarizes a distribution using the five-number summary: minimum, first quartile, median, third quartile, and maximum, with whiskers indicating variability outside the upper and lower quartiles. This makes it excellent for showing the spread, central tendency, skewness, and potential outliers of a dataset at a glance. In Power BI, a box plot visual is available and is well-suited for distribution analysis.

Why this answer

A box and whisker plot (C) is correct because it summarizes the distribution of a single numeric variable using the median, quartiles, and potential outliers, making spread and skewness easy to see. A histogram (D) is also correct because it bins a single numeric variable and displays the frequency distribution across intervals, revealing shape, center, and spread. A pie chart (A) is not suitable because it shows parts of a whole for categorical data, not the distribution of a numeric variable.

A scatter chart (B) is not suitable because it displays the relationship between two numeric variables. A bar chart (E) is not suitable because it compares categorical categories or discrete counts rather than showing the distribution of one numeric variable.

413
MCQhard

You are creating a Power BI report that includes a matrix visual showing sales by year and quarter. Users want to be able to expand and collapse the quarters within each year. What should you do?

A.Create a hierarchy in the Fields pane and add it to the Rows field well.
B.Add the Year and Quarter fields to the Columns field well of the matrix visual.
C.In the matrix's formatting options, enable the 'Stepped layout' toggle.
D.Add the Year and Quarter fields to the Rows field well of the matrix visual.
AnswerD

Placing both Year and Quarter in the Rows field well creates a hierarchy in the matrix. By default, the matrix allows users to expand and collapse levels, so they can drill down from year to quarter. This achieves the requirement without additional configuration.

Why this answer

To enable expand and collapse in a matrix, you add the fields that form the hierarchy to the Rows field well. Power BI automatically provides expand/collapse controls for each level. This allows users to drill down from year to quarter as needed.

Exam trap

The trap here is thinking that a special toggle or hierarchy creation is needed; simply adding fields to Rows enables the feature.

414
Multi-Selecteasy

Which TWO methods can you use to share a Power BI report with external users who do not have a Power BI Pro license? (Choose two.)

Select 2 answers
A.Embed the report in a secure portal using 'Embed for your customers'.
B.Publish to a public website (Publish to web).
C.Export the report to PDF and share the file.
D.Share directly via Power BI using the user's email address.
E.Export the report to Excel and attach it to an email.
AnswersA, B

'Embed for your customers' uses an app-owns-data model, issuing an embed token so external users authenticate against your application rather than Microsoft Entra ID. This satisfies the stem's constraint that recipients lack a Power BI Pro licence, since consuming embedded analytics requires no per-user Power BI licence.

Why this answer

Option A is correct because the 'Embed for your customers' (app-owns-data) scenario uses an embed token and a service principal or master account to render the report inside your own application or secure portal, so the external viewers authenticate to your app and never need a Power BI Pro license. Option B is correct because 'Publish to web' generates an anonymous public embed code/URL that anyone can view in a browser without any Power BI license, Pro or otherwise. Option C is not correct because exporting to PDF produces a static file, not a shared interactive Power BI report, and it is not a Power BI sharing method.

Option D is not correct because direct sharing via email in the Power BI service requires the recipient to have a Power BI Pro (or PPU) license to open the report. Option E is not correct because exporting to Excel yields a static data extract, not a live report, and likewise is not a Power BI sharing mechanism.

Exam trap

PL-300 often tests the misconception that any sharing method works for external users without licenses, but only 'Embed for your customers' and 'Publish to web' are designed for that; direct sharing and exports do not provide interactive report access without a license.

415
MCQeasy

You have a Power BI data model with a 'Date' table that contains continuous dates from January 1, 2020, to December 31, 2025. The 'Sales' table has a relationship with the 'Date' table. You need to create a measure that calculates the total sales for the last 12 months from the current context. Which DAX function should you use?

A.PREVIOUSMONTH
B.DATEADD
C.DATESINPERIOD
D.SAMEPERIODLASTYEAR
AnswerC

DATESINPERIOD returns a table of contiguous dates starting from a specified start date and extending for a given number of intervals (months, quarters, or years), either forward or backward. For a rolling 12-month calculation, you can use CALCULATE(SUM(Sales[Amount]), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH)) to include exactly the trailing 12 months up to and including the current maximum date. This function is purpose-built for arbitrary date ranges anchored on a single date, making it the correct choice for this scenario.

Why this answer

The DATESINPERIOD function is correct because it returns a contiguous set of dates from a specified start date (the last date in the current context) going back a given number of intervals (12 months). This allows the measure to dynamically calculate total sales for the trailing 12 months relative to any filter context, such as a specific year or month.

Exam trap

The trap here is that candidates often confuse SAMEPERIODLASTYEAR (which compares a fixed prior period) with a rolling 12-month calculation, not realizing that DATESINPERIOD is the correct function for a dynamic trailing window.

How to eliminate wrong answers

Option A is wrong because PREVIOUSMONTH only returns the single previous month, not a rolling 12-month period. Option B is wrong because DATEADD shifts a set of dates by a specified number of intervals but requires an existing date range to shift; it does not inherently create a rolling 12-month window from the current context. Option D is wrong because SAMEPERIODLASTYEAR returns the exact same period one year prior, which is a fixed comparison (e.g., January 2023 vs.

January 2022), not a trailing 12-month calculation.

416
MCQmedium

You have a table with a column 'Date' in text format (e.g., '2024-01-15'). You need to convert it to a date type. In Power Query, what is the best approach?

A.Split the column into year, month, day and then combine.
B.Use the Excel Power Query add-in.
C.Create a calculated column in DAX using DATEVALUE.
D.Change the column data type to Date in Power Query Editor.
AnswerD

Changing the column data type to Date in the Power Query Editor is the correct and most efficient approach because it leverages Power Query's built-in type conversion system, which parses the text representation into a true date value using the designated locale and format. To do this, you select the column, go to the Transform tab (or Home tab), and choose Data Type > Date; Power Query automatically inserts a 'Changed Type' step that records this transformation. This method is straightforward, requires no custom code, and ensures the data is correctly typed for all downstream operations like modeling, DAX calculations, and visual date hierarchies.

Why this answer

Option D is correct because Power Query's Change Type > Date (or the Date.From/Table.TransformColumnTypes operation) natively parses ISO-formatted text like '2024-01-15' into a true date type using the locale's date-parsing rules, which is the intended, one-step approach for this scenario. Splitting into year, month, and day (A) is unnecessary and error-prone when the text is already in a recognizable date format. Using the Excel Power Query add-in (B) is irrelevant since Power Query is already the tool in use, and creating a DAX calculated column with DATEVALUE (C) works in the data model rather than transforming the column at query time, which is less efficient and doesn't change the underlying column type.

417
MCQhard

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.
AnswerD

The 'Orders' table has a column designated as a key (likely OrderID) that must contain unique values for the model's relationships to work. When the refresh tries to load data, the VertiPaq engine checks uniqueness on that key; duplicate OrderID values in the source violate that constraint, causing the refresh to fail with a duplicate key error. This often happens when the source view or query returns repeated rows due to joins or missing DISTINCT, and it is the direct and primary cause of the reported error.

Why this answer

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.

Exam trap

The trap here is that candidates may confuse a primary key violation with other common refresh errors like data type mismatches or query folding issues, but the error message's explicit reference to 'duplicate value' and 'primary key' directly points to source data duplication.

How to eliminate wrong answers

Option A is wrong because reordering columns in Power Query does not affect data integrity or primary key uniqueness; it only changes the column sequence in the dataset. Option B is wrong because a data type mismatch would cause a conversion error, not a duplicate value error on a primary key column. Option C is wrong because a calculated column referencing the 'Orders' table does not introduce duplicate values; it computes values based on existing rows and does not alter the source data's uniqueness.

418
MCQhard

You are a data analyst for a financial services company. You have a Power BI dataset that combines data from two sources: a CSV file in SharePoint Online and an on-premises SQL Server database. The CSV file contains exchange rates that are updated daily. The SQL Server database contains transaction data. You need to ensure that the dataset can be refreshed automatically in the Power BI service. The CSV file is updated at 6:00 AM daily, and the SQL Server database is updated continuously. You have already published the report. What should you do to enable automated refresh?

A.Use Power Automate to refresh the dataset after the CSV is updated.
B.Enable incremental refresh for the SQL Server table to reduce refresh time.
C.Install and configure an on-premises data gateway, then set up a scheduled refresh.
D.Configure a scheduled refresh in the dataset settings. The gateway is not required because the CSV file is in SharePoint Online.
AnswerC

The on-premises SQL Server is a data source that lives behind your corporate firewall, so the Power BI service uses an on-premises data gateway in standard mode to connect securely. After installing the gateway and adding the data source with the appropriate credentials, you assign it to the dataset and then configure a scheduled refresh in the dataset settings. This enables Power BI to query the SQL Server and the SharePoint CSV on a recurring basis.

Why this answer

The on-premises SQL Server database requires an on-premises data gateway to bridge the Power BI service with the local network. Even though the CSV file is in SharePoint Online, the dataset combines both sources; the gateway is mandatory for the SQL Server component. Without it, scheduled refresh cannot access the on-premises data, and the dataset will fail to refresh automatically.

Exam trap

The trap here is that candidates assume a gateway is unnecessary because one data source (SharePoint Online) is cloud-based, forgetting that the on-premises SQL Server requires a gateway for any automated refresh in the Power BI service.

How to eliminate wrong answers

Option A is wrong because Power Automate can trigger a refresh but does not solve the underlying connectivity issue for the on-premises SQL Server; the gateway is still required. Option B is wrong because incremental refresh reduces refresh time and data volume but does not enable connectivity to an on-premises data source; it is a performance optimization, not a connectivity solution. Option D is wrong because while the CSV file is in SharePoint Online and does not need a gateway, the on-premises SQL Server database absolutely requires an on-premises data gateway for the Power BI service to reach it; omitting the gateway will cause the scheduled refresh to fail.

419
Multi-Selectmedium

Which TWO actions are best practices for designing accessible Power BI reports? (Choose two.)

Select 2 answers
A.Use complex tab order to navigate quickly
B.Provide descriptive alt text for all visuals
C.Use only high-contrast colors
D.Add alt text to every image, including decorative ones
E.Ensure all visuals have a clear title
AnswersB, E

Descriptive alt text must explain what a visual shows—its trend, key takeaway, or data story—rather than simply naming the object. For non-decorative visuals, screen readers rely on this text as an equally effective alternative, so include the insight a sighted user would derive from the chart.

Why this answer

Option B is correct because providing descriptive alt text for all visuals lets screen-reader users understand the meaning and content of each chart, table, or image, which is a core accessibility requirement in Power BI. Option E is correct because every visual should have a clear, meaningful title so users of assistive technology and all readers can identify what the visual represents without relying on color or position alone. Option A is incorrect because a complex tab order makes keyboard navigation harder; accessible reports should use a logical, simple tab order.

Option C is incorrect because using only high-contrast colors is not sufficient and can itself create issues; color should not be the sole means of conveying information, and sufficient contrast should be combined with other cues. Option D is incorrect because decorative images should generally be marked as decorative or have empty alt text, not given descriptive alt text, to avoid unnecessary screen-reader noise.

Exam trap

A common trap is to confuse adding alt text to all images (including decorative ones) as accessibility best practice, but decorative images should be marked as decorative to avoid unnecessary noise for screen readers.

420
MCQeasy

A data analyst creates a Power BI report using a dataset that contains sensitive salary information. The analyst needs to ensure that only HR managers can see salary columns. What should the analyst use?

A.Row-level security (RLS).
B.Microsoft Purview sensitivity labels.
C.Object-level security (OLS).
D.Set the dataset security to 'Restrict access'.
AnswerC

Object-level security (OLS) lets a modeler define roles that remove specific tables or columns from a user's view by setting their object permissions to None. In Power BI, OLS is implemented in the role editor (or via XMLA endpoints) where you can deny access to a column while leaving the rest of the model accessible. Since the requirement is to hide a sensitive column while allowing the rest of the dataset to remain usable, OLS is the correct mechanism.

Why this answer

Object-level security (OLS) is the correct choice because it restricts access to specific tables or columns within a dataset, which is exactly what is needed to hide salary columns from everyone except HR managers. OLS is defined in the dataset's Tabular Model roles and can deny access to individual columns so that unauthorized users cannot see them in reports. Row-level security (RLS) only filters rows, not columns, so it cannot prevent viewing salary columns.

Microsoft Purview sensitivity labels classify and protect data but do not control column visibility in Power BI reports, and 'Restrict access' is not a valid dataset security setting for column-level control.

421
MCQhard

You are a data analyst for a multinational corporation. You are building a Power BI report that uses a large fact table (100 million rows) and several dimension tables. The data source is a SQL Server data warehouse. Users need to see near real-time data with a maximum latency of 15 minutes. The current import mode takes too long to refresh. You decide to use DirectQuery mode. However, queries are slow. You need to improve query performance. You consider creating aggregations in the data source. Which approach should you take in Power BI to leverage these aggregations?

A.Create a composite model with an imported aggregated table.
B.Define aggregations in Power BI on the DirectQuery tables.
C.Change the storage mode to Import for the fact table.
D.Create a SQL Server view that aggregates data and use it as the source.
AnswerB

Defining aggregations in Power BI on the DirectQuery tables is correct because Power BI can automatically redirect queries to a cached aggregation table when the query grain matches, drastically reducing load on the source and improving response times. This approach maintains the DirectQuery storage mode for detail-level queries, so users still see fresh data without a full import, and it leverages Power BI's optimization engine rather than requiring source-side changes.

Why this answer

Power BI allows you to define aggregations on DirectQuery tables, which enables the engine to route queries to pre-aggregated data at the source (e.g., SQL Server indexed views or materialized views) when possible, significantly reducing query latency. This approach leverages the existing aggregations in the data source without changing the storage mode or importing data, maintaining near real-time freshness with a 15-minute latency requirement.

Exam trap

The trap here is that candidates often think creating a SQL Server view (Option D) is the correct Power BI approach, but Power BI cannot automatically leverage such views as aggregations unless they are explicitly defined in the model; the exam tests whether you know that aggregations must be defined within Power BI on DirectQuery tables to enable query rewriting.

How to eliminate wrong answers

Option A is wrong because creating a composite model with an imported aggregated table would reintroduce import mode for that table, breaking the near real-time requirement (import mode refreshes are too slow for 15-minute latency) and adding complexity without leveraging the source aggregations directly. Option C is wrong because changing the storage mode to Import for the fact table would revert to the original slow refresh issue, as importing 100 million rows takes longer than 15 minutes, and it does not use the aggregations defined in the data source. Option D is wrong because creating a SQL Server view that aggregates data and using it as the source is a data-source-side change, not a Power BI approach to leverage aggregations; Power BI would treat the view as a regular table and still require DirectQuery or import, missing the optimization of Power BI's aggregation management.

422
MCQeasy

You need to share a Power BI dashboard with a large group of users in your organization. The users should not be able to edit the dashboard or share it with others. What is the most efficient method?

A.Add all users as Members of the workspace.
B.Share the dashboard directly with each user's email address.
C.Publish the dashboard to the web.
D.Create a workspace app and grant the group Viewer access.
AnswerD

A workspace app distributes the dashboard to many users at once, satisfying the large-group requirement efficiently. Viewer access grants read-only interaction, preventing edits, while app audiences cannot reshare content. This combination meets both constraints without per-user sharing overhead.

Why this answer

The correct answer is D: create a workspace app and grant the group Viewer access. A workspace app packages the dashboard (and its reports) for distribution to a broad audience, and the Viewer role gives read-only access without edit or reshare rights, which matches the requirement efficiently for a large group. Option A is wrong because the Member role allows editing and sharing content, violating the restriction.

Option B is inefficient for a large group and grants per-user sharing permissions rather than a single managed distribution. Option C is wrong because Publish to web makes the dashboard publicly accessible on the internet with no access control.

423
Multi-Selectmedium

Which TWO chart types are appropriate for comparing proportions of a whole? (Select TWO.)

Select 2 answers
A.Waterfall chart
B.100% stacked bar chart
C.Scatter plot
D.Line chart
E.Pie chart
AnswersB, E

A 100% stacked bar chart is ideal for comparing proportions because each bar is scaled to the same total height (100%), so the length of each segment directly represents the percentage contribution of that category relative to the whole. This allows you to visually compare the relative distribution of parts across multiple groups on a common scale. The category axis segments are shaded distinctly, making it easy to see how the share of a particular component changes across different bars or time periods.

Why this answer

A 100% stacked bar chart (B) is correct because it normalizes each bar to 100%, so every segment represents a category's share of the total, making it ideal for comparing part-to-whole proportions across multiple groups. A pie chart (E) is correct because it divides a single circle into slices whose arc angles are proportional to each category's percentage of the whole, directly visualizing composition. The waterfall chart (A) is not appropriate here because it shows how sequential positive and negative values accumulate to a running total, not proportions of a whole.

The scatter plot (C) is used to show the relationship or correlation between two numeric variables, and the line chart (D) is used to display trends over a continuous dimension such as time, so neither compares parts of a whole.

424
MCQeasy

You have a Power BI report with a matrix visual showing sales by region and product category. You want to allow users to expand and collapse groups. Which feature should you enable?

A.Page tooltips
B.Drill-down mode
C.Drill-through
D.Row and column subtotals
AnswerB

Drill-down mode lets users navigate the matrix hierarchy by expanding and collapsing category levels, satisfying the requirement to reveal lower-level detail on demand. Enabling it on the visual's axis fields gives the interactive expand/collapse behaviour users need.

Why this answer

Drill-down mode in a matrix visual allows users to expand and collapse hierarchical levels. When a hierarchy is present, enabling drill-down mode provides expand/collapse icons on row headers, letting users interactively show or hide subcategories. Option A (page tooltips) shows tooltip pages on hover, unrelated to expand/collapse.

Option C (drill-through) navigates to another report page, not within the same visual. Option D (row and column subtotals) is a formatting feature for aggregating totals, not for expanding/collapsing groups.

Exam trap

Candidates often mistake subtotals for enabling expand/collapse, but subtotals are a separate formatting setting. Expand/collapse is inherently tied to hierarchical data and drill-down mode.

425
MCQhard

A Power BI administrator needs to ensure that all reports in a workspace are labeled with a sensitivity label automatically when created. The workspace is used by multiple departments. What should the administrator configure?

A.Set a default sensitivity label for the workspace in the workspace settings.
B.Configure a Microsoft Purview auto-labeling policy for the workspace.
C.Set the default sensitivity label for the entire Power BI tenant.
D.Instruct all users to manually apply the sensitivity label when creating reports.
AnswerA

Setting a default sensitivity label in the workspace settings is the correct, administrator-controlled method. Any new report created in that workspace inherits this label automatically, and users can still change it if they have appropriate permissions. This meets the requirement without relying on user discipline.

Why this answer

The correct option is A: setting a default sensitivity label for the workspace in the workspace settings. In Power BI, a workspace admin can assign a default sensitivity label at the workspace level, so any new report or dataset created in that workspace automatically inherits that label without user action, which fits the requirement that all reports be labeled automatically on creation. Option B does not fit because Microsoft Purview auto-labeling policies apply to supported workloads like Exchange, SharePoint, and OneDrive, not directly to Power BI workspace-created items.

Option C is incorrect because a tenant-wide default label is not the mechanism for per-workspace automatic labeling of new reports. Option D is incorrect because manual labeling by users is not automatic and would not guarantee consistent labeling.

426
MCQeasy

You need to ensure that a Power BI report uses the latest data from a cloud-based Azure SQL Database. The report is configured with scheduled refresh. What is the minimum required license for the dataset owner to configure a scheduled refresh?

A.Power BI Premium capacity
B.Power BI Premium Per User
C.Power BI Free
D.Power BI Pro
AnswerD

Power BI Pro is the correct minimum license because scheduled refresh in the Power BI service is a Pro-only feature. With a Pro license, you can create datasets, publish them to shared capacity, and configure a refresh schedule without needing Premium capacity or Premium Per User. A Pro license is sufficient for the standard, recurring data refresh scenario in shared capacity.

Why this answer

Power BI Pro is the minimum license required for a dataset owner to configure a scheduled refresh against a cloud-based Azure SQL Database. Scheduled refresh is a premium feature that is not available with a Power BI Free license, and while Power BI Premium capacity or Premium Per User can also support scheduled refresh, they are not the minimum requirement. The dataset owner must have a Pro license to schedule refreshes for datasets hosted in shared capacity.

Exam trap

The trap here is that candidates often assume that because Azure SQL Database is a cloud source, a Free license might suffice, but Power BI Free does not support any form of scheduled refresh, regardless of the data source being cloud or on-premises.

How to eliminate wrong answers

Option A is wrong because Power BI Premium capacity is an organizational-level licensing option that provides dedicated capacity and additional features, but it is not the minimum license required for an individual dataset owner to configure scheduled refresh. Option B is wrong because Power BI Premium Per User is a per-user license that grants premium features, but it is not the minimum requirement; a Pro license suffices for scheduled refresh in shared capacity. Option C is wrong because Power BI Free license does not allow scheduled refresh; it only permits manual refresh via Power BI Desktop or the service, and the dataset owner cannot configure automatic scheduled refresh without a Pro or higher license.

427
MCQmedium

You are designing a Power BI report that will be viewed on mobile devices. The report contains a complex scatter plot with many data points. Users complain that the visual is hard to interact with on small screens. What is the best approach to improve the mobile experience?

A.Use bookmarks to switch between the scatter plot and a table.
B.Keep the scatter plot but add a slicer to filter data.
C.Increase the size of the scatter plot to fill the screen.
D.Create a separate mobile layout and replace the scatter plot with a simpler visual like a line chart.
AnswerD

The dedicated mobile layout lets you redesign the page for a portrait phone screen, where you can move, resize, and hide visuals to match touch ergonomics. Replacing the scatter plot with a line chart — which has large, easily tappable categorical or time-axis points and a more natural sweep for small screens — converts a dense, drag-to-select interaction into a simple tap-to-view-measure interaction, aligning with the intended mobile consumption of the report.

Why this answer

The correct option is D: create a separate mobile layout and replace the scatter plot with a simpler visual like a line chart. Power BI's mobile layout feature lets you design a phone-optimized view of the report, and swapping a dense scatter plot for a simpler visual such as a line chart reduces clutter and improves touch interaction on small screens. Options A, B, and C do not solve the core problem: bookmarks still show the complex scatter plot, a slicer does not reduce visual complexity, and enlarging the scatter plot to fill the screen makes the many data points even harder to interact with on a small display.

428
MCQhard

You have a measure as shown in the exhibit. The sales amount is not accumulating correctly; instead, it shows the total sales for all dates, regardless of the selected date filter. What is the problem?

A.The measure should use ALLEXCEPT instead of ALL.
B.The ALL('Date') function removes the filter context, so the calculation returns total sales for all dates.
C.The VAR SelectedDate should be MIN instead of MAX.
D.The relationship between Sales and Date is inactive.
AnswerB

ALL('Date') strips the date filter context from the Date table, so the measure aggregates every row regardless of slicer or axis selection. Removing that filter is precisely what makes the result show total sales for all dates instead of accumulating.

Why this answer

Using ALL('Date') within CALCULATE removes the filter context on the Date table, causing the measure to return the total sales across all dates, not the current date context. Option A is incorrect; ALLEXCEPT would keep certain filters, but the problem here is specifically the removal of all date filters by ALL. Option C is incorrect; using MIN versus MAX in VAR SelectedDate does not cause the described behavior; the issue is the ALL function.

Option D is incorrect; an inactive relationship would prevent proper filtering but would not result in the measure returning the total for all dates; the symptom would be different.

429
MCQhard

You are a Power BI administrator for a large organization. A team has published a shared dataset to a Premium workspace. They use an XMLA endpoint to programmatically refresh the dataset daily. Recently, the refresh started failing with the error: 'The operation was canceled because the session was terminated by a concurrent operation.' The dataset is not partitioned. You need to ensure the refresh completes without errors. What should you do?

A.Remove all scheduled refreshes and rely solely on the XMLA script.
B.Enable the 'Refresh conflict detection' setting on the dataset to prevent concurrent operations.
C.Change the XMLA script to run less frequently, e.g., once per week.
D.Partition the dataset and refresh partitions sequentially.
AnswerB

Enabling the 'Refresh conflict detection' setting on the dataset is the native solution for this scenario. In Power BI Premium, this setting detects when a second refresh request arrives while a refresh is already executing, and it blocks the conflicting request instead of allowing them to overlap. This eliminates the 'refresh already in progress' error while keeping both the scheduled and XMLA refresh workflows intact.

Why this answer

The error 'The operation was canceled because the session was terminated by a concurrent operation' indicates that two refresh operations are conflicting on the same dataset. Enabling 'Refresh conflict detection' on the dataset prevents concurrent refreshes by queuing or blocking overlapping operations, ensuring the XMLA-triggered refresh completes without interruption.

Exam trap

The trap here is that candidates often assume the error is caused by the XMLA script itself (e.g., frequency or scheduling) and overlook the fact that the conflict is due to concurrent operations, which is directly solved by enabling conflict detection rather than changing the script's schedule or partitioning strategy.

How to eliminate wrong answers

Option A is wrong because removing scheduled refreshes does not address conflicts that could arise from other concurrent operations, such as multiple XMLA scripts or user interactions; the error specifically points to a concurrent session, not just scheduled refreshes. Option C is wrong because reducing the frequency of the XMLA script does not prevent conflicts when the script runs; if another operation occurs at the same time, the conflict persists regardless of frequency. Option D is wrong because partitioning the dataset and refreshing partitions sequentially does not resolve the fundamental issue of concurrent sessions; the error is about session termination, not partition-level parallelism, and sequential partition refreshes can still conflict if multiple sessions attempt to refresh the same dataset.

430
Drag & Dropmedium

Drag and drop the steps to create a relationship between two tables in Power BI Desktop into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

Relationships are created by dragging columns between tables in the Model view, then confirming settings like cardinality.

431
MCQmedium

You are a data analyst at a healthcare organization. You have a Power BI semantic model with a fact table named Visits that includes a column PatientID and a dimension table named Patients with a column PatientID. The Visits table has 10 million rows, and the Patients table has 500,000 rows. You need to ensure that when users filter the Patients table by patient demographics, the Visits table is filtered accordingly, and that the relationship behaves as expected. What should you do?

A.Create a one-to-many relationship from Visits[PatientID] to Patients[PatientID] with a single filter direction.
B.Create a one-to-many relationship from Patients[PatientID] to Visits[PatientID] with a single filter direction.
C.Create a one-to-many relationship from Patients[PatientID] to Visits[PatientID] with a bidirectional filter direction.
D.Create a many-to-many relationship between Patients[PatientID] and Visits[PatientID] with a single filter direction.
AnswerB

This is correct because the dimension table Patients should filter the fact table Visits. A one-to-many relationship from the dimension to the fact table with a single filter direction is the standard star schema design. It ensures that filters on patient demographics propagate to Visits, and it avoids ambiguity and performance issues associated with bidirectional filtering.

Why this answer

The correct design is a one-to-many relationship from the dimension table to the fact table with a single filter direction. This enforces referential integrity, ensures filters on Patients propagate to Visits, and maintains optimal performance. Reversing the direction or using many-to-many or bidirectional filtering would not meet the requirement and could introduce issues.

Exam trap

The trap here is confusing the direction of the relationship; many candidates mistakenly think the fact table should filter the dimension table.

432
MCQmedium

You are creating a Power BI report and need to add a visual that allows users to dynamically change the measure displayed in a chart. Which feature should you use?

A.Bookmarks
B.Field parameters
C.What-if parameters
D.Calculation groups
AnswerB

Field parameters allow users to dynamically select which fields or measures are displayed in a visual by using a slicer. This enables a single visual to change its measure based on user selection, providing a flexible and interactive experience. Field parameters are created in the modeling tab and can include measures, columns, or a combination.

Why this answer

Field parameters provide a way to let report users choose which measures or dimensions appear in a visual. By adding a field parameter to a slicer, users can select from a list of measures, and the visual updates accordingly. This is the most efficient method to achieve dynamic measure switching without creating multiple visuals or bookmarks.

Exam trap

The trap here is confusing field parameters with calculation groups; calculation groups modify calculations but do not let users switch the measure itself.

433
MCQmedium

You are a Power BI administrator. A new analyst joins the team and needs to publish reports to an existing workspace named Sales Analytics. The analyst must be able to create and edit content in the workspace but must not be allowed to add or remove other members or change workspace settings. Which workspace role should you assign to the analyst?

A.Viewer
B.Member
C.Admin
D.Contributor
AnswerD

Contributor allows creating, editing, and deleting content within the workspace, but does not permit adding or removing members or changing workspace settings. This matches the analyst's needs exactly. It grants the necessary publishing and editing rights without the administrative capabilities that must be withheld.

Why this answer

The Contributor role allows a user to create and edit content such as reports and datasets in a workspace, but does not allow managing workspace membership or settings. Assigning Contributor gives the analyst the needed publishing and editing capabilities while enforcing least privilege. Admin and Member grant excessive rights, and Viewer lacks the required editing permissions.

Exam trap

The trap here is assuming that Member is the least-privilege role for editing content, when Member also allows adding members and managing access, which exceeds the requirement.

434
Multi-Selecthard

Which TWO actions can improve performance of a Power BI DirectQuery model?

Select 2 answers
A.Switch the model to Import mode
B.Enable bidirectional cross-filtering on all relationships
C.Ensure proper indexing in the source database
D.Use calculated columns with complex logic
E.Reduce the number of columns in the query
AnswersC, E

Indexing speeds up query execution.

Why this answer

Proper indexing in the source database reduces the query execution time for DirectQuery models. DirectQuery sends queries to the source database in real-time, so efficient indexes on columns used in filters, joins, and aggregations minimize table scans and improve retrieval speed.

Exam trap

The trap here is that candidates often confuse performance improvements that apply to Import mode (like reducing columns) with those that are specific to DirectQuery, or they assume bidirectional filtering is always beneficial without considering its overhead on query generation.

435
MCQhard

Your Power BI dataset uses DirectQuery to a SQL Server data warehouse. Users report that reports are slow. You need to improve performance without changing the data source. What should you do?

A.Switch the dataset to Import mode.
B.Disable the 'Enable query reduction' option in Power BI Desktop.
C.Create aggregated tables in Power BI using the Aggregations feature.
D.Increase the memory limit of the on-premises data gateway.
AnswerC

Aggregations create a cached, in-memory summary table that DirectQuery queries hit first, so most report visuals avoid round trips to SQL Server. This satisfies the constraint of improving performance without altering the data source, since the detail tables and DirectQuery connection remain unchanged.

Why this answer

Creating aggregated tables in Power BI using the Aggregations feature allows you to pre-summarize data at a higher granularity while still using DirectQuery. This reduces the amount of data queried from the SQL Server data warehouse, improving report performance without changing the underlying data source or switching to Import mode.

Exam trap

The trap here is that candidates often assume performance improvements must come from switching to Import mode or tuning the gateway, but the Aggregations feature is specifically designed to optimize DirectQuery performance without altering the source system.

How to eliminate wrong answers

Option A is wrong because switching to Import mode would change the data source behavior by caching data locally, which violates the constraint of not changing the data source and may not be feasible for large datasets due to memory limits. Option B is wrong because disabling 'Enable query reduction' would actually increase the number of queries sent to the data source, making performance worse, not better. Option D is wrong because increasing the memory limit of the on-premises data gateway does not improve query performance for DirectQuery; it only helps with data throughput for gateway operations, not the speed of queries against the SQL Server.

436
MCQmedium

You have a Power BI report that uses a measure to calculate year-over-year growth. Users report that the measure returns blank for certain months. The measure is: YoY Growth = DIVIDE(SUM(Sales[Amount]) - CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date])), CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date]))). What is the most likely cause of the blank values?

A.The Date table is not marked as a date table.
B.The measure uses DIVIDE which returns blank when denominator is zero.
C.The Date table is missing dates for the previous year, causing SAMEPERIODLASTYEAR to return no data.
D.The measure should use TOTALYTD instead of SAMEPERIODLASTYEAR.
AnswerC

SAMEPERIODLASTYEAR works by shifting the current filter context back exactly one year and returning the equivalent set of dates. If the Date table does not contain those dates—for example, the table starts at January 2022 while you are filtering on 2023, so no 2022 dates are present—the function returns an empty set of dates. When a measure receives an empty date range, it evaluates to BLANK, which then propagates through any calculations like DIVIDE. To fix this, the Date table must span a contiguous range that includes all years present in the fact data, including the year being compared.

Why this answer

The correct answer is C: the Date table is missing dates for the previous year, causing SAMEPERIODLASTYEAR to return no data. SAMEPERIODLASTYEAR requires a contiguous, complete date range in a marked Date table to shift the current period back exactly one year; if prior-year dates are absent, the CALCULATE denominator returns BLANK, and DIVIDE yields BLANK for those months. Option A is not the cause because an unmarked date table would typically break time intelligence entirely rather than only certain months, and marking it is a prerequisite, not the root cause here.

Option B is incorrect because DIVIDE returns BLANK only when the denominator is zero or BLANK, which is a symptom of the missing prior-year data, not the underlying cause. Option D is wrong because TOTALYTD computes a year-to-date aggregate, not a prior-year comparison, so it would not fix the YoY calculation.

437
MCQhard

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.
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.
AnswerA

A separate date table created in Power Query is the recommended way to handle fiscal-year reporting because it provides a clean, continuously dated calendar dimension that can be marked as the date table in your model. You can add a fiscal year column with a simple conditional formula that adjusts the calendar year based on your fiscal year start month. This supports DAX time intelligence functions like TOTALYTD and DATEADD, and keeps the date dimension independent from fact tables.

Why this answer

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.

Exam trap

The trap here is that candidates often think a DAX calculated column or table is acceptable for fiscal year logic, but the exam emphasizes that data preparation (Power Query) is the correct phase for such transformations to maintain performance and star schema design.

How to eliminate wrong answers

Option B is wrong because splitting the date column into year, month, and day columns does not inherently create a fiscal year hierarchy; it only breaks the date into parts, requiring additional logic to map months to fiscal years, which is inefficient and does not provide a proper date dimension for filtering. Option C is wrong because using a DAX calculated table to generate fiscal year dates is less performant than doing so in Power Query; DAX calculated tables are computed after data load and can increase model size and refresh time, whereas Power Query transformations are applied during data preparation and are more efficient. Option D is wrong because adding a calculated column in the existing table using DAX introduces redundancy and violates star schema best practices; it also computes the fiscal year at query time rather than during data preparation, leading to potential performance issues and lack of reusability across multiple fact tables.

438
Multi-Selectmedium

Which TWO actions improve the accessibility of a Power BI report for users with visual impairments?

Select 2 answers
A.Use a high-contrast color theme.
B.Add alt text to all visuals.
C.Use small font sizes to fit more content.
D.Use high color saturation for all elements.
E.Include complex drillthrough interactions.
AnswersA, B

High-contrast color themes in Power BI ensure that foreground data elements and backgrounds meet WCAG 2.1 contrast ratios (at least 4.5:1 for text, 3:1 for graphical objects). This directly supports users with low vision or color vision deficiencies, as it makes visual distinctions perceivable without relying on color alone. Power BI's built-in accessible color palettes, such as the High Contrast White/Black themes, automatically adjust color pairs to maintain these ratios.

Why this answer

Option A is correct because applying a high-contrast color theme in Power BI (via View > Themes or a custom JSON theme) increases the luminance difference between foreground text/visuals and background, which helps users with low vision or color-vision deficiencies distinguish content. Option B is correct because adding alt text to every visual in the Visualizations pane's Format > General > Alt Text field lets screen readers such as Narrator, JAWS, or NVDA announce a meaningful description of each chart, making the report navigable for blind users. Option C is wrong because small font sizes reduce legibility rather than improve it, working against accessibility best practices.

Option D is wrong because high color saturation alone does not guarantee sufficient contrast and can actually worsen readability for users with color-vision deficiencies. Option E is wrong because complex drillthrough interactions add navigation complexity and are not an accessibility improvement; simpler, predictable navigation is preferred.

439
MCQeasy

You have a report page that shows sales by region. You want users to be able to select a region and see the corresponding sales details on the same page without navigating away. Which feature should you use?

A.Slicer
B.Drillthrough
C.Matrix with expand/collapse
D.Card visual
AnswerA

The slicer is a dedicated on-page filter control that lets users choose region values; it directly cross-filters all other visuals on the report page, updating the sales numbers in real time based on the selection. Unlike drillthrough, it does not navigate away, and unlike a matrix's expansion, it actively filters the entire page's visuals. It is the correct answer because it provides interactive, immediate page-level filtering without altering the report layout.

Why this answer

A slicer is correct because it lets users interactively filter the report page by selecting a region, and the sales details visuals on that same page update in place without any navigation. This matches the requirement of staying on the same page while changing the displayed data. Drillthrough would not fit because it navigates users to a separate drillthrough page filtered to the selected item.

A matrix with expand/collapse changes the level of detail within a single visual rather than filtering the whole page by region selection. A card visual only displays a single aggregated value and provides no selection mechanism.

440
MCQmedium

You have a Power BI model with a table 'Sales' and a related 'Product' table. You want to count the number of distinct products sold. Which DAX expression should you use?

A.COUNTROWS(Sales)
B.COUNT(Sales[ProductID])
C.DISTINCTCOUNT(Sales[ProductID])
D.COUNTA(Sales[ProductID])
AnswerC

DISTINCTCOUNT(Sales[ProductID]) evaluates the ProductID column within the current filter context and returns the number of unique, non-blank values. It automatically removes duplicates and ignores blanks, providing the exact cardinality of products sold. This is the standard DAX function for 'count of distinct instances' in scenarios like this, and it respects the existing relationship filtering from related tables.

Why this answer

DISTINCTCOUNT(Sales[ProductID]) returns the number of unique ProductID values in the Sales table, which directly answers the requirement to count distinct products sold. This function counts each distinct value in the specified column, ignoring duplicates, and is the standard DAX measure for distinct count calculations.

Exam trap

The trap here is that candidates often confuse COUNT, COUNTA, and COUNTROWS with DISTINCTCOUNT, mistakenly thinking any counting function will yield distinct values, but only DISTINCTCOUNT explicitly removes duplicates.

How to eliminate wrong answers

Option A is wrong because COUNTROWS(Sales) counts all rows in the Sales table, including duplicate sales of the same product, not distinct products. Option B is wrong because COUNT(Sales[ProductID]) counts only non-blank numeric values in the column, but it does not eliminate duplicates, so it returns the total number of sales transactions with a ProductID, not distinct products. Option D is wrong because COUNTA(Sales[ProductID]) counts non-blank values of any data type, but like COUNT, it does not deduplicate, so it also returns the total count of non-blank ProductID entries, not distinct products.

441
MCQmedium

You are designing a data model for a report that shows sales by product category and by month. Which table configuration is most efficient?

A.Two fact tables: one for date and one for product.
B.A date dimension table, a product dimension table, and a sales fact table.
C.A single table with all columns.
D.One dimension table containing date and product attributes.
AnswerB

A star schema with a sales fact table at the center and separate date and product dimension tables around it is the optimal relational design for this reporting scenario. The fact table stores quantitative measures (e.g., sales amount, quantity) and foreign keys to each dimension, creating one-to-many relationships that let Power BI filter and group by date or product efficiently. This design avoids data redundancy, supports correct grain granularity, and ensures the model can answer time-based and product-based questions independently or together. It also aligns with Power BI's VertiPaq columnar storage, which compresses dimensions well and speeds up aggregation.

Why this answer

Option B is correct because a star schema with a date dimension, a product dimension, and a sales fact table is the most efficient design for reporting sales by product category and by month. The fact table stores numeric measures such as sales amount at the grain of each transaction or monthly aggregate, while the dimension tables provide descriptive attributes for filtering and grouping. This separation reduces redundancy, improves query performance, and supports clean time intelligence and category-level analysis.

Option A is wrong because date and product are descriptive dimensions, not fact tables. Option C is wrong because a single wide table causes redundancy and poor scalability. Option D is wrong because combining date and product attributes into one dimension creates a snowflake-like or denormalized structure that complicates grouping and time analysis.

442
Multi-Selectmedium

Which TWO actions are required to enable Bring Your Own Key (BYOK) encryption for Power BI datasets? (Select exactly two.)

Select 2 answers
A.Assign the workspace to a Power BI Premium capacity
B.Store the encryption key in the Power BI service admin settings
C.Upload the customer-managed key to Azure Key Vault
D.Configure the Power BI admin settings to use the key from Azure Key Vault
E.Register the encryption key in Microsoft Purview compliance portal
AnswersC, D

The customer-managed key must exist in Azure Key Vault before Power BI can reference it. Uploading the key establishes the vault-held asymmetric key that Power BI later wraps around the dataset encryption key, which is the prerequisite step enabling BYOK rather than Microsoft-managed encryption.

Why this answer

BYOK for Power BI requires the customer-managed key to be created and stored in Azure Key Vault, so option C is correct because the RSA 2048-bit (or 3072/4096-bit) key must reside in an Azure Key Vault subscription you control. Option D is also correct because, after the key exists in Key Vault, a Power BI admin must enable BYOK in the Power BI admin portal (Tenant settings) and point the tenant to that Key Vault key, granting the Power BI service the necessary wrap/unwrap permissions. Option A is not required because BYOK is a tenant-level feature available with Power BI Premium (or Fabric capacity) but assigning a specific workspace to a capacity is not the action that enables BYOK.

Option B is incorrect because the key itself is never stored in Power BI admin settings; only a reference to the Key Vault key is configured there. Option E is incorrect because Microsoft Purview is not used to register the encryption key for Power BI BYOK.

443
MCQmedium

You have a Power BI dataset that combines sales data from two Excel files: Sales2023.xlsx and Sales2024.xlsx. Both files have the same schema. You need to combine them into a single table without duplicating rows. What is the best approach in Power Query?

A.Use Union in DAX.
B.Use Group By to summarize data.
C.Use Append Queries.
D.Use Merge Queries as a new query.
AnswerC

Append Queries in Power Query is specifically designed to combine two or more tables by stacking their rows one after another, aligning columns by name. When you have sales data from two sources with the same structure, appending creates a single table containing all records from both sources, which is exactly what the scenario requires. It runs at data refresh time in Power Query, ensuring the combined data is loaded efficiently into the Power BI data model.

Why this answer

Append Queries in Power Query is specifically designed to combine rows from two or more tables with the same schema into a single table, stacking them vertically without duplicating rows. This operation is performed in the Power Query Editor (M language) and is the standard approach for unioning data from multiple sources during the data preparation phase, before loading into the Power BI data model.

Exam trap

The trap here is that candidates often confuse Append Queries (vertical stacking) with Merge Queries (horizontal joining), or mistakenly think DAX Union is appropriate for data preparation, when Power Query is the correct tool for this task.

How to eliminate wrong answers

Option A is wrong because Union in DAX is a function used within calculated tables or measures in the data model, not in Power Query; it operates on tables already loaded into the model and can cause performance issues and duplicate rows if not handled carefully, whereas the requirement is to combine data during the preparation phase. Option B is wrong because Group By is used to aggregate data (e.g., sum, count) by grouping rows based on columns, not to combine two separate tables into one; it would summarize the data rather than preserving all rows. Option D is wrong because Merge Queries is used to join tables horizontally (like SQL JOIN) based on matching keys, adding columns from one table to another, not to stack rows vertically; it would create a wider table, not a longer one, and could introduce duplicates if not configured correctly.

444
MCQmedium

You are a Power BI developer for a healthcare organization. You are building a dataset that includes patient data from an on-premises SQL Server database. The database contains a table 'PatientVisits' with columns: PatientID, VisitDate, DiagnosisCode, and Cost. The database also has a table 'DiagnosisLookup' with DiagnosisCode and Description. You need to create a star schema in Power BI. The requirements are: - The dataset must include a date dimension table that covers all dates from 2010 to 2030. - The 'PatientVisits' table should be the fact table. - Diagnosis descriptions should be in a dimension table. - You must use Power Query to create the date dimension table using M code. - The data refresh must be scheduled daily via the on-premises data gateway. You have already loaded the 'PatientVisits' and 'DiagnosisLookup' tables. What should you do next to complete the star schema?

A.Use DAX to create a date table using CALENDAR function in Power BI Desktop, then mark it as a date table.
B.Enable the 'Auto date/time' option in Power BI Desktop and hide the generated date hierarchy.
C.In the model view, create a relationship between PatientVisits[VisitDate] and DiagnosisLookup[DiagnosisCode].
D.In Power Query, create a blank query that generates a date table using the List.Dates function with a custom column for Year, Month, etc. Load it into the model and mark it as a date table.
AnswerD

A Power Query blank query using List.Dates generates a contiguous calendar covering 2010 to 2030, and adding Year and Month columns supports the star schema. Marking it as the date table enables time intelligence, and it refreshes through the existing on-premises gateway.

Why this answer

The requirement explicitly states that the date dimension table must be created using M code in Power Query, and the List.Dates function is the appropriate M function to generate a continuous range of dates from 2010 to 2030. After creating the table with additional columns like Year and Month, you must load it into the model and mark it as a date table to enable time intelligence functions. This approach satisfies the need for a custom date dimension that is not dependent on DAX or auto-generated hierarchies.

Exam trap

The trap here is that candidates often default to using DAX's CALENDAR function (Option A) because it is simpler, but the question explicitly requires M code in Power Query, making DAX-based solutions incorrect even if functionally equivalent.

How to eliminate wrong answers

Option A is wrong because using DAX with the CALENDAR function violates the explicit requirement to create the date dimension table using M code in Power Query. Option B is wrong because enabling 'Auto date/time' generates hidden date hierarchies automatically, which does not create a dedicated date dimension table in Power Query and does not meet the requirement for a custom M-based date table covering 2010 to 2030. Option C is wrong because creating a relationship between PatientVisits[VisitDate] and DiagnosisLookup[DiagnosisCode] is semantically incorrect; VisitDate is a date field and DiagnosisCode is a code field, and the correct relationship should be between PatientVisits[DiagnosisCode] and DiagnosisLookup[DiagnosisCode] to link the fact table to the diagnosis dimension.

445
MCQeasy

A user reports that a Power BI report is not refreshing data from a SQL Server database. The dataset uses Import mode. The gateway cluster shows all gateways are online. What is the most likely cause?

A.The report is using a scheduled refresh with a conflicting time.
B.The gateway version is incompatible with the SQL Server version.
C.The dataset uses DirectQuery mode which requires a live connection.
D.The data source credentials are incorrect or expired.
AnswerD

Incorrect or expired data source credentials are the most frequent cause of a Power BI scheduled refresh failure. When you configure a dataset for refresh, Power BI stores the authentication values—Windows credentials, database passwords, or OAuth tokens—and if those are changed or time out, the service cannot authenticate to the source and the refresh operation fails with an error. Updating the credentials in the dataset settings under 'Edit credentials' resolves the issue, and you should verify that the account still has the same permissions.

Why this answer

In Import mode, Power BI caches data and refreshes it on a schedule using stored credentials. If those credentials expire or become invalid, the refresh fails even though the gateway cluster shows as online. The gateway being online only indicates network connectivity, not that the stored credentials are still valid for the SQL Server database.

Exam trap

The trap here is that candidates see 'gateway cluster shows all gateways are online' and assume the issue must be elsewhere, but gateway online status does not validate the stored data source credentials, which are a separate authentication layer that can expire or become invalid independently.

How to eliminate wrong answers

Option A is wrong because a conflicting scheduled refresh time would cause a refresh to be skipped or queued, not a persistent failure; the report would still refresh at the next available window. Option B is wrong because gateway version incompatibility with SQL Server version is extremely rare; the gateway communicates via standard TDS protocol and is backward-compatible with most SQL Server versions. Option C is wrong because the question explicitly states the dataset uses Import mode, not DirectQuery mode, so the requirement for a live connection is irrelevant.

446
MCQeasy

You have a Power BI report that includes a line chart showing monthly sales. You want to add a forecast for the next six months. Which feature should you use?

A.Filter pane
B.Analytics pane
C.Format pane
D.Visualization pane
AnswerB

The Analytics pane is the dedicated location in Power BI for adding statistical and analytical enhancements to a visual, such as constant lines, trend lines, and forecasting. When a line chart is selected, the Forecast option appears here, letting you extend the existing series into future periods using an exponential smoothing algorithm. This is the only pane that supports generating a forecast, making it the correct choice.

Why this answer

The Analytics pane in Power BI provides built-in forecasting capabilities for time-series data. By selecting a line chart and adding a forecast from the Analytics pane, you can configure the forecast length (e.g., six months), confidence intervals, and seasonality, enabling predictive analysis directly within the visual.

Exam trap

The trap here is that candidates confuse the Analytics pane with the Format pane, mistakenly looking for forecast settings under visual formatting options, when in fact forecasting is an analytical overlay available only in the Analytics pane.

How to eliminate wrong answers

Option A is wrong because the Filter pane is used to restrict data displayed in visuals or pages, not to add predictive elements like forecasts. Option C is wrong because the Format pane controls visual appearance (colors, labels, axes) but does not include analytical features such as forecasting. Option D is wrong because the Visualization pane is where you select chart types and assign fields to axes/values, not where you add analytical overlays like trend lines or forecasts.

447
Multi-Selectmedium

Which TWO actions are best practices for optimizing Power BI data models?

Select 2 answers
A.Replace text-based relationship columns with integer keys.
B.Use calculated columns instead of measures where possible.
C.Hide columns that are not used in reports.
D.Remove columns that are not used in reports.
E.Use many-to-many relationships instead of bridge tables.
AnswersA, D

Integer keys improve join performance.

Why this answer

Replacing text-based relationship columns with integer keys (surrogate keys) reduces storage size and improves join performance. Power BI's VertiPaq engine compresses integer columns far more efficiently than text columns, leading to faster query execution and smaller memory footprint.

Exam trap

The trap here is that candidates often confuse 'hiding' columns (which only affects report visibility) with 'removing' columns (which actually reduces model size and improves performance), leading them to select Option C instead of D.

448
MCQhard

You are optimizing a DAX query that returns product-country combinations with total sales over 10,000. The query runs slowly. What is the primary performance issue with this query?

A.The measure [Total Sales] is defined using SUMX which is slow.
B.Using SUMMARIZE instead of SUMMARIZECOLUMNS causes inefficient grouping and measure evaluation.
C.The FILTER function should be replaced with CALCULATETABLE for better performance.
D.The query lacks proper relationships between tables, causing cross joins.
AnswerB

SUMMARIZE is inherently less efficient when adding measure columns, because it groups the table and evaluates extended columns in one pass, which can force multiple scans of the same data and may even produce unexpected results when extended columns are used. SUMMARIZECOLUMNS, by contrast, is optimized specifically for grouping with measures; it leverages a pre-grouping phase and enables the engine to push aggregations down to the storage engine, improving both memory usage and query time. Additionally, SUMMARIZE is considered a legacy function for this purpose, and SUMMARIZECOLUMNS is the recommended replacement in DAX.

Why this answer

The primary issue is that the query uses SUMMARIZE to group product-country combinations and evaluate the [Total Sales] measure, which is inefficient because SUMMARIZE was not designed for measure evaluation and can produce incorrect or slow results in this pattern. SUMMARIZECOLUMNS is the optimized function for this scenario, as it is specifically engineered for grouping and evaluating measures efficiently in DAX queries. The other options do not fit: SUMX is not inherently slow and is often the correct iterator for row-by-row aggregation, FILTER is not the bottleneck here and CALCULATETABLE would not address the grouping inefficiency, and missing relationships would typically cause errors or blank results rather than merely slow performance.

449
Multi-Selectmedium

You are a Power BI developer at a healthcare organization. You are building a report that must comply with HIPAA regulations. You need to ensure that patient data is not exposed to unauthorized users. You plan to use Row-Level Security (RLS) with roles defined in Power BI Desktop. However, you also need to limit the data imported into the model to only necessary columns. The source is an Azure SQL Database with a table 'Patients' containing columns: PatientID, Name, SSN, Diagnosis, AdmissionDate, DischargeDate. Which two actions should you take? (Choose TWO)

Select 2 answers
A.Create RLS roles to restrict access by Diagnosis.
B.Store data source credentials in the Power BI service.
C.Disable query caching for the dataset.
D.Use encrypted connection to the database.
E.Remove the SSN and Name columns in Power Query before loading.
AnswersA, E

Creating row-level security (RLS) roles with a DAX filter on the Diagnosis field dynamically restricts which rows each user or role can view. This ensures that a user assigned to a specific role only sees patient records matching authorized diagnoses, directly preventing unauthorized data exposure at the row level. RLS is evaluated at query time in the Power BI service, making it a robust access-control mechanism that works regardless of how the report is accessed.

Why this answer

Option A is correct because defining RLS roles in Power BI Desktop and mapping them to users in the Power BI service enforces row-level filtering so that each user only sees the patient rows they are authorized to view, which is a core HIPAA minimum-necessary access control. Option E is correct because removing SSN and Name in Power Query before loading implements data minimization, ensuring sensitive identifiers are never imported into the semantic model where they could be exposed. Option B is not correct because storing credentials in the Power BI service is a connectivity/authentication practice, not a data-exposure control for this scenario.

Option C is not correct because disabling query caching does not restrict which data is imported or who can see it. Option D is not correct because an encrypted connection protects data in transit but does not limit imported columns or enforce row-level access for report consumers.

Exam trap

The trap here is that candidates may confuse data security measures (like encrypted connections or credential storage) with data minimization and access control, leading them to select options that protect data in transit or enable refresh but do not directly limit imported columns or enforce row-level filtering.

450
Multi-Selecthard

Which THREE of the following are valid considerations when using Power BI's AI visuals? (Choose three.)

Select 3 answers
A.AI visuals are only available with an AI workload license.
B.Some AI visuals have a limit on the number of data points they can analyze.
C.AI visuals are deprecated in favor of Copilot.
D.AI visuals may require Power BI Premium capacity for certain features.
E.Certain AI visuals require the data to be in a specific format (e.g., numeric or categorical).
AnswersB, D, E

Several AI visuals enforce hard limits on the volume of data they can process to keep the machine-learning calculations responsive. For example, the Key Influencers visual supports up to 100,000 data points (or distinct values of the analyzed field), and beyond that threshold it may return an error or require you to aggregate or filter the data. Similarly, the Decomposition Tree can become unwieldy with extremely high-cardinality dimensions, although it does not always fail hard. These limits matter for modeling and row-level visualization design, especially when working with wide or high-volume fact tables.

Why this answer

Option B is correct because AI visuals such as Key Influencers and Decomposition Tree have practical limits on the volume of data points they can process effectively, so large datasets may need filtering or aggregation before use. Option D is correct because several AI-powered features (for example, some Cognitive Services integrations and certain AI insights) require Power BI Premium or Premium Per User capacity rather than being fully available on shared/Pro capacity. Option E is correct because AI visuals depend on the semantic type of fields: for instance, Key Influencers needs a categorical field to analyze and a numeric or categorical target, while Q&A and Smart Narrative rely on properly typed numeric, categorical, or date fields to generate meaningful results.

Option A is not a valid consideration because AI visuals are part of Power BI Pro/Premium licensing and do not require a separate 'AI workload' license. Option C is not correct because AI visuals are not deprecated in favor of Copilot; Copilot is an additional generative feature, and the AI visuals remain supported.

Page 5

Page 6 of 7

Page 7

All pages