Courseiva

Microsoft Power BI Data Analyst PL-300 (PL-300) — Questions 301–375

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

Page 4

Page 5 of 7

Page 6
301
MCQmedium

You are a Power BI data analyst for a healthcare organization. You have a report page with a card visual that displays total patient count. The CEO wants to see the patient count broken down by age group (0-18, 19-35, 36-50, 51-65, 65+) and by gender, with the ability to expand or collapse each age group to see gender details. You need to add a visual that supports this hierarchical drill-down. Which visual should you use?

A.Treemap
B.Clustered bar chart
C.Matrix
D.Table
AnswerC

A matrix visual natively supports hierarchical drill-down when you place multiple fields in the Rows area. You can add Age Group and Gender to the Rows well, and users can expand or collapse each age group to reveal gender details. This directly meets the requirement for hierarchical exploration without additional configuration.

Why this answer

A matrix visual is designed for hierarchical data exploration. By placing Age Group and Gender in the Rows section, users can expand or collapse each age group to view gender details. This provides the required drill-down capability.

Other visuals either lack hierarchy support or do not allow interactive expansion.

Exam trap

The trap here is assuming that any visual with multiple category fields supports drill-down, but only the matrix provides native expand/collapse hierarchy.

302
MCQmedium

A Power BI administrator needs to audit which users have exported data from a specific report in the last 30 days. What is the most efficient way to retrieve this information?

A.Use the Microsoft Purview compliance portal to search for 'Export' events.
B.Check the report's usage metrics report for export counts.
C.Query the Power BI activity log using the audit log search in the Microsoft 365 Defender portal.
D.Review the 'Export to Excel' metrics in the Azure Monitor for Power BI Premium.
AnswerC

The Power BI activity log records every user export action as an event, including the user ID, timestamp, report name, and export type, and these events are ingested into the Microsoft 365 unified audit log. Using the audit log search in the Microsoft 365 Defender portal, an administrator can filter for Power BI export operations and retrieve a complete, user-level audit trail. This is the authoritative source for answering the audit question because it directly captures the exact export events needed.

Why this answer

The correct option is C: query the Power BI activity log using the audit log search in the Microsoft 365 Defender portal, because Power BI audit events such as ExportReport, ExportData, and ExportToFile are centralized in the unified Microsoft 365 audit log, which supports filtering by user, date range, and activity type for the last 30 days. This is the most efficient way to identify exactly which users exported data from a specific report, since the audit log records per-user, per-item activity. Option A is not the right tool because Microsoft Purview compliance portal search is oriented toward compliance and eDiscovery scenarios rather than granular Power BI report export auditing.

Option B only provides aggregated usage metrics (view counts and similar statistics) without per-user export detail. Option D is incorrect because Azure Monitor for Power BI Premium focuses on capacity and resource telemetry, not user-level export auditing.

303
MCQmedium

You are building a Power BI report for a logistics company. The data is stored in a CSV file on a SharePoint Online document library. The CSV file is updated daily with new rows. You need to ensure that the Power BI dataset reflects the latest data every morning at 7:00 AM. The data volume is small, so full refresh is acceptable. You have already published the report to the Power BI service. What should you do to automate the refresh?

A.In the Power BI service, configure a scheduled refresh for the dataset with the desired time.
B.Use Power Automate to trigger a refresh via the Power BI REST API every morning.
C.Enable incremental refresh for the dataset and set the refresh frequency to daily.
D.Install an on-premises data gateway and configure a scheduled refresh.
AnswerA

Configuring a scheduled refresh in the Power BI service is the correct approach for a SharePoint Online dataset because the source is a cloud data source. You set the desired time and frequency directly in the dataset settings, and Power BI uses the stored credentials and refresh history to run the operation automatically—no gateway or custom scripting is required. This built-in feature is the simplest, most reliable, and standard method for keeping cloud data fresh.

Why this answer

The Power BI service supports scheduled refresh natively for datasets that connect to cloud data sources like SharePoint Online CSV files. By configuring a scheduled refresh in the dataset settings, you can set it to run daily at 7:00 AM without any additional tools or gateways. This ensures the dataset reflects the latest data from the CSV file each morning.

Exam trap

The trap here is that candidates often overcomplicate the solution by choosing Power Automate or incremental refresh, not realizing that the Power BI service's built-in scheduled refresh is sufficient and the simplest option for cloud-based data sources with small data volumes.

How to eliminate wrong answers

Option B is wrong because while Power Automate can trigger a refresh via the Power BI REST API, it is unnecessary overhead for a simple daily refresh of a small dataset from a cloud source; the built-in scheduled refresh in the Power BI service is simpler and more direct. Option C is wrong because incremental refresh is designed for large datasets to partition data and refresh only new or changed rows, but the question states data volume is small and full refresh is acceptable, so incremental refresh adds complexity without benefit. Option D is wrong because an on-premises data gateway is required only for on-premises data sources (e.g., SQL Server on a local network), but the CSV file is stored in SharePoint Online, which is a cloud source accessible directly by the Power BI service without a gateway.

304
MCQmedium

You are reviewing a Power Query M expression in the advanced editor. The exhibit shows the query. What is the final output of this query?

A.A table with total sales amount per customer for all orders
B.A table with total sales amount per customer for orders after 2023
C.A table with all sales records after 2023
D.A table with all sales records after 2023, excluding Discount column
AnswerB

This exactly matches the M expression's step sequence: a row filter on OrderDate >= 2023-01-01, a Table.SelectColumns step that removes extraneous fields (e.g., Discount, ProductID), and a Table.Group operation keyed by CustomerID that aggregates Amount with List.Sum into a new total column. The resulting table has one row per distinct CustomerID, and each value of the aggregated column represents the sum of Amount for orders placed in 2023 or later. This is the correct interpretation of the transformation chain.

Why this answer

The query filters the Sales table to keep only rows where the OrderDate is in 2024 or later (i.e., after 2023), then groups by CustomerID, summing the SalesAmount for each customer. The final output is a table with one row per customer showing their total sales amount for orders placed after 2023.

Exam trap

The trap here is that candidates often overlook the filter step and assume the query returns all records or all customers, failing to recognize that the date filter and grouping fundamentally change both the row set and the structure of the output.

How to eliminate wrong answers

Option A is wrong because it describes total sales per customer for all orders, but the query includes a filter step that removes orders from 2023 and earlier. Option C is wrong because it suggests all sales records after 2023 are returned, but the query groups the data and aggregates (sums) the sales, so individual records are not preserved. Option D is wrong because it mentions excluding a Discount column, but the query does not remove any columns; it only filters rows and then groups/aggregates.

305
MCQhard

You have a Power BI dataset with a 'Sales' table that includes a 'ProductID' column. You also have a 'Products' table with 'ProductID' and 'Category' columns. You create a relationship between the tables. You want to create a measure that calculates the total sales for products in the 'Electronics' category. Which DAX expression should you use?

A.SUMX(Products, Products[Category] = "Electronics", Sales[Amount])
B.CALCULATE(SUM(Sales[Amount]), RELATED(Products[Category]) = "Electronics")
C.SUM(Sales[Amount])
D.CALCULATE(SUM(Sales[Amount]), Products[Category] = "Electronics")
AnswerD

CALCULATE is the correct DAX function for modifying filter context. Here it evaluates the sum of Sales[Amount] within a filter context where Products[Category] is restricted to "Electronics". The predicate references a column on the related Products table, and CALCULATE automatically propagates that filter across the existing relationship between Sales and Products, so only matching sales rows are aggregated.

Why this answer

Option D is correct because CALCULATE modifies the filter context of SUM(Sales[Amount]) by applying a filter on the related Products table's Category column, and since a relationship exists between Sales and Products, the filter propagates to the Sales table to return only Electronics sales. Option A is invalid syntax: SUMX requires a table as its first argument and an expression as its second, not a boolean condition and a column. Option B is wrong because RELATED is a column-reference function that requires row context and cannot be used directly inside a CALCULATE filter argument like that.

Option C returns total sales for all categories with no Electronics filter applied.

306
MCQhard

Your organization uses Power BI Premium capacity. You notice that reports are slow during peak hours. You need to identify which workspaces are consuming the most CPU resources on the capacity. What should you use?

A.Open the dataset in Power BI Desktop and view the performance analyzer.
B.Install and review the Power BI Premium Capacity Metrics app.
C.Enable diagnostic logging in Azure Monitor for the capacity.
D.Check the 'Capacity settings' in the Power BI admin portal.
AnswerB

The Premium Capacity Metrics app is the dedicated monitoring solution for Power BI Premium, prebuilt with per-workspace metrics for CPU time, memory consumption, refresh durations, and query performance. Admins install it from AppSource or the admin portal, and it connects to the capacity's metadata to provide a breakdown of resource usage by workspace and operation. This directly addresses the need to detect which areas of the capacity are under heavy load.

Why this answer

The Power BI Premium Capacity Metrics app is the correct tool because it is purpose-built to monitor Premium capacity health and provides per-workspace breakdowns of resource consumption, including CPU usage over time, so you can pinpoint which workspaces are driving load during peak hours. It surfaces metrics like CPU utilization, memory usage, query durations, and dataset refreshes at both the capacity and workspace level. In contrast, Power BI Desktop's Performance Analyzer (option A) only profiles a single report's visuals and queries on your local machine, not capacity-wide CPU consumption.

Azure Monitor diagnostic logging (option C) can capture activity logs and metrics, but it requires manual setup and analysis and does not directly present workspace-level CPU rankings. The Capacity settings page in the admin portal (option D) only lets you configure capacity size, admins, and workload settings; it does not report which workspaces consume the most CPU.

307
Multi-Selecthard

You have a Power BI dataset that uses row-level security (RLS) with roles defined in Power BI Desktop. You publish the dataset to the Power BI service. Which TWO statements are true about RLS behavior?

Select 2 answers
A.RLS affects the refresh schedule of the dataset.
B.Users assigned to a role will only see rows that satisfy the role's DAX filter.
C.Visual titles are automatically filtered based on RLS.
D.RLS can restrict access to specific measures.
E.Role membership must be assigned in the Power BI service after publishing.
AnswersB, E

When a Power BI role is defined with a DAX filter, such as 'Where Salesperson = USERNAME()', that expression is evaluated against every row in the secured table for each member of the role. Any row that evaluates to TRUE is visible; any row that evaluates to FALSE is hidden from that user. This filtering is applied automatically to all visuals, exports, and tile queries against the dataset, making it the fundamental mechanism for row-level security.

Why this answer

Option B is correct because RLS in Power BI enforces row filtering through the DAX filter expression defined on each table in the role; when a user is assigned to that role, queries executed against the dataset return only the rows where the DAX predicate evaluates to TRUE. Option E is correct because roles are authored in Power BI Desktop, but user or group membership in those roles is assigned in the Power BI service (via the dataset's Security page or the Admin portal / REST API), since Desktop has no knowledge of the service's users and groups. Option A is not correct because RLS filters data at query time for viewers and does not change or affect the dataset's scheduled refresh process.

Option C is not correct because RLS filters rows in the underlying tables, not visual titles or other report metadata, which are not automatically altered by RLS. Option D is not correct because RLS operates at the row level on tables, not at the measure level; restricting measures requires object-level security (OLS), which is a separate feature.

308
MCQeasy

You are importing a CSV file into Power BI. The file contains a date column with values in the format 'MM/dd/yyyy'. However, Power Query interprets the dates as 'dd/MM/yyyy'. What should you do to correctly parse the dates?

A.Change the system region settings of the Power BI service to US
B.Use the 'Using Locale' option in the Change Type step to select the appropriate locale (e.g., English (United States))
C.Change the column data type to Text and then manually replace separators
D.Split the column into day, month, and year, then combine them in the correct order
AnswerB

The 'Using Locale' option in the Change Type step (accessed via the Data Type dropdown in Power Query Editor) lets you specify a culture, such as English (United States), that determines how date strings are parsed. By selecting a locale, you override the default system regional settings for that specific transformation, ensuring that a date like '03/04/2021' is interpreted as March 4th rather than April 3rd. This is the precise, minimal solution because it applies only to the selected column and records an M expression with 'Culture' parameter, making it reproducible in subsequent data refreshes without altering any global or tenant-wide configuration.

Why this answer

Power Query's 'Using Locale' option in the Change Type step allows you to specify the regional format of the source data (e.g., English (United States) for 'MM/dd/yyyy'). This overrides Power Query's default locale-based interpretation, ensuring dates are parsed correctly without altering the data or system settings.

Exam trap

The trap here is that candidates often assume changing system region settings (Option A) will fix the issue, but Power Query's locale handling is independent of the Power BI service region, and the correct approach is to use the 'Using Locale' option within the query editor.

How to eliminate wrong answers

Option A is wrong because changing the Power BI service region settings does not affect how Power Query Desktop interprets date formats during import; locale handling is a Power Query engine feature, not a service-level setting. Option C is wrong because manually replacing separators is error-prone and unnecessary; Power Query already supports locale-aware date parsing without data transformation. Option D is wrong because splitting and recombining columns is a cumbersome workaround that introduces complexity and potential data loss, whereas the 'Using Locale' option directly solves the parsing issue.

309
MCQhard

You need to design a data model for a sales analysis that includes measures for total sales, sales by product, and sales by customer. The source data has a 'Transactions' table with columns: TransactionID, Date, CustomerID, ProductID, Quantity, Amount. What is the recommended star schema design?

A.Create two fact tables: one for sales and one for customers
B.Create a fact table and separate dimensions for Date, Customer, and Product
C.Create a single table with all columns
D.Create a fact table and one dimension containing Customer and Product
AnswerB

This is the canonical star schema: a single sales fact table contains additive measures (quantity, revenue) plus foreign keys to separate Date, Customer, and Product dimension tables. Each dimension is at its own grain and contains only descriptive attribute columns, enabling users to slice and filter sales independently by any combination of date, customer, and product attributes. This design minimizes redundancy, supports fast aggregations, and produces unambiguous relationships, making it the correct choice for Power BI performance and maintainability.

Why this answer

Option B is correct because a star schema centers on a single fact table (here, Transactions with Quantity and Amount as measures) surrounded by separate dimension tables for Date, Customer, and Product, which lets you aggregate total sales and slice by product or customer efficiently. Keeping each dimension distinct preserves clean grain, supports conformed attributes, and enables the required sales-by-product and sales-by-customer analysis. Option A is wrong because splitting into two fact tables fragments the same transaction grain and complicates cross-measure analysis.

Option C is wrong because a single denormalized table is not a star schema and loses dimensional modeling benefits. Option D is wrong because combining Customer and Product into one dimension creates a snowflake-like or junk dimension that prevents independent analysis by each attribute.

310
MCQhard

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

A.Enable the tenant setting 'Apply sensitivity labels to exported data' in the Power BI admin portal.
B.Enable 'Microsoft Purview Information Protection' file encryption settings.
C.Set the default sensitivity label for the workspace to 'Confidential'.
D.Configure a Microsoft Purview auto-labeling policy for Power BI reports.
AnswerA

The tenant-level admin setting named 'Apply sensitivity labels to exported data' directly controls whether an export carries the source report's sensitivity label. When enabled, files exported from labeled items in the Power BI service receive the corresponding label, which preserves data classification and protection outside the service. Without this setting, exported content loses the label even if the original report is labeled.

Why this answer

Option A is correct because the Power BI tenant setting 'Apply sensitivity labels to exported data' (in the Power BI admin portal) is specifically what causes the sensitivity label on a report to be inherited by exported files such as PDF, PPTX, and XLSX. When this setting is enabled, Power BI propagates the report's label to the exported artifact so the PDF carries the same protection. Option B is incorrect because Purview Information Protection encryption settings govern encryption behavior, not the propagation of labels to Power BI exports.

Option C is incorrect because setting a workspace default label only assigns labels to new items in that workspace; it does not control label inheritance on exported PDFs. Option D is incorrect because a Purview auto-labeling policy applies labels based on content inspection and does not govern the export-labeling behavior of Power BI reports.

311
Multi-Selecteasy

Which TWO of the following are valid methods to combine data from multiple sources in Power BI?

Select 2 answers
A.Pivot Column
B.Append Queries
C.Unpivot Columns
D.Merge Queries
E.Group By
AnswersB, D

Appends rows from one query to another.

Why this answer

Append Queries is a valid method to combine data from multiple sources in Power BI because it stacks rows from two or more tables into a single table, which is essential when you have similar data structures across different sources (e.g., monthly sales files). This operation is performed in Power Query Editor and corresponds to a UNION operation in SQL, making it a standard data preparation technique.

Exam trap

The trap here is that candidates often confuse data transformation operations (like Pivot, Unpivot, Group By) with data combination operations (Append and Merge), leading them to select options that modify existing data rather than integrate multiple sources.

312
Multi-Selecteasy

Which TWO data sources can be used with DirectQuery mode in Power BI? (Choose two.)

Select 2 answers
A.Excel workbook
B.SQL Server
C.Azure SQL Database
D.CSV file
E.SharePoint list
AnswersB, C

SQL Server is a full relational database management system with a query processor that accepts T-SQL requests over the Tabular Data Stream protocol. Power BI DirectQuery works by translating visual-level queries into native SQL commands that SQL Server executes in real time, allowing row-level security and large data volumes to be handled server-side. This pushdown capability is why SQL Server is a canonical DirectQuery source.

Why this answer

DirectQuery mode in Power BI requires a data source that supports query pass-through to a backend engine, and SQL Server (option B) qualifies because Power BI issues native T-SQL queries against the relational database in real time without importing data. Azure SQL Database (option C) is likewise a supported DirectQuery source, since it is a cloud-based SQL Server engine that accepts the same T-SQL query folding and live connection pattern. In contrast, Excel workbook (A), CSV file (D), and SharePoint list (E) are file- or list-based sources that Power BI imports rather than querying live, so they are not valid DirectQuery data sources.

Exam trap

The trap here is that candidates often confuse DirectQuery with Import mode, assuming any data source can be used with DirectQuery, but only relational databases like SQL Server and Azure SQL Database support it, while file-based sources like Excel and CSV do not.

313
MCQmedium

You have a Power BI workspace named Sales. You need to ensure that only users in the Finance security group can view reports in this workspace, while members of the Sales team can edit and share content. What should you do?

A.Add Finance as Viewer, Sales as Member.
B.Add Finance as Contributor, Sales as Member.
C.Add Finance as Viewer, Sales as Admin.
D.Use row-level security to restrict Finance data, add both as Member.
AnswerA

Assigning Finance the Viewer role grants read-only report access, while the Sales team as Members can edit and share content. This satisfies both constraints simultaneously, since workspace roles govern exactly these permissions without broader tenant-level access.

Why this answer

Workspace roles in Power BI are designed to grant specific permissions: Viewer allows read-only access, ideal for Finance who only need to view reports; Member allows editing and sharing, which matches the Sales team's requirements. Option B is wrong because Contributor role cannot share content, which Sales needs. Option C is wrong because Admin grants full control, including managing permissions, which is unnecessary and excessive.

Option D is wrong because row-level security (RLS) controls data access within reports, not workspace-level permissions.

Exam trap

A common trap is confusing Contributor with Member. Contributor can edit but not share, while Member can both edit and share. Also, a candidate might think Viewer is insufficient for Finance, but it correctly restricts access.

314
MCQhard

You manage a Power BI tenant. A workspace named 'Finance' contains a dataset that uses an on-premises SQL Server data source via an on-premises data gateway. The gateway is configured with a single data source that uses a SQL Server account for authentication. You need to ensure that when users view reports based on this dataset, they see only data for their own department, and the filtering must be enforced at query time without modifying the dataset. What should you do?

A.Create separate reports for each department and distribute them via apps.
B.Configure column-level security on the dataset to hide sensitive columns.
C.Use the gateway's 'Add users to data source' feature to map each user to a specific SQL Server login.
D.Configure row-level security (RLS) on the dataset and map users to roles.
AnswerD

RLS defined in the dataset (either in Power BI Desktop or by using Tabular Editor) filters data based on the identity of the user viewing the report. When users access the report, Power BI passes their identity to the dataset, and the RLS rules restrict the rows they can see. This is enforced at query time and does not require changes to the underlying data source or gateway configuration.

Why this answer

Row-level security (RLS) is the correct approach because it dynamically filters data based on the user's identity at query time. It is defined within the dataset and does not require changes to the data source or gateway. Other options either duplicate content, do not enforce per-user filtering, or address column-level rather than row-level security.

Exam trap

The trap here is confusing row-level security with column-level security or thinking that gateway authentication can enforce per-user data filtering.

315
MCQhard

You are importing data from a CSV file into Power BI. The file contains a column 'SalesAmount' with values like '1,234.56' and '(987.65)' for negative amounts. You need to transform this column into a decimal number. Which sequence of Power Query steps achieves this?

A.Change Type to Decimal, then Replace Values (',' with ''), then Replace Values ('(' with '-')
B.Replace Values (',' with ''), then Replace Values ('(' with '-'), then Replace Values (')' with ''), then Change Type to Decimal
C.Replace Values (',' with ''), Change Type to Decimal, then Replace Values ('(' with '-')
D.Replace Values ('(' with '-'), Replace Values (')' with ''), Replace Values (',' with ''), then Change Type to Decimal
AnswerD

Replacing '(' with '-' and ')' with '' first converts accounting negatives into signed values, then stripping commas removes thousands separators. Only after these text substitutions does Change Type to Decimal parse correctly, satisfying the need to transform the column into a decimal number.

Why this answer

It first replaces the opening parenthesis '(' with a minus sign '-', then removes the closing parenthesis ')', then removes the comma thousands separator ',', and finally changes the data type to Decimal. This sequence ensures that the negative indicator is properly placed before the numeric value and that the string is cleanly formatted for type conversion.

Exam trap

The trap here is that candidates often try to change the data type too early, before cleaning the string, or they forget to remove the closing parenthesis after replacing the opening one, leading to conversion errors.

How to eliminate wrong answers

Option A is wrong because changing the type to Decimal before removing the comma and parentheses will cause errors, as the string '1,234.56' and '(987.65)' are not valid decimal numbers. Option B is wrong because replacing '(' with '-' before removing ')' leaves a trailing parenthesis that will cause the type conversion to fail. Option C is wrong because changing the type to Decimal before handling the parentheses will result in errors for negative values, as the string still contains parentheses.

316
MCQmedium

You are a Power BI administrator. The company has a premium capacity that many users publish reports to. Recently, users have reported that some reports are slow to load. You suspect that the capacity is being overused by certain large datasets. You need to identify which workspaces and datasets are consuming the most memory and CPU resources on the capacity. You want to use a tool that provides historical metrics and can be queried. What should you do?

A.Install the Power BI Premium Capacity Metrics app from AppSource.
B.Use Performance Analyzer in Power BI Desktop for each report.
C.Use the Power BI admin portal to view capacity metrics in real-time.
D.Enable Power BI activity logs and query Log Analytics for capacity metrics.
AnswerA

The Premium Capacity Metrics app from AppSource is Microsoft's official monitoring solution for Premium capacities. It periodically pulls telemetry from the capacity metrics API, stores it in a dedicated dataset, and presents historical CPU, memory, query counts, and refresh statistics per workspace and dataset. The underlying data is DAX-queryable, enabling a three-month retrospective analysis, which makes it the only listed tool that satisfies the stated need for historical resource-level metrics.

Why this answer

The Power BI Premium Capacity Metrics app (option A) is the correct tool because it is installed from AppSource and provides historical, queryable metrics on memory and CPU consumption per workspace and dataset on a Premium capacity, directly addressing the need to find the top resource consumers. It surfaces dataset sizes, refresh durations, CPU usage, and memory usage over time, which is exactly what the administrator requires. Option B, Performance Analyzer, only measures rendering and query performance of individual reports in Power BI Desktop and does not give capacity-wide historical resource metrics.

Option C, the admin portal, shows current capacity health and utilization but not the detailed historical, queryable per-dataset metrics needed. Option D, activity logs in Log Analytics, capture user and admin activity events, not the granular memory and CPU consumption metrics of datasets on the capacity.

317
MCQeasy

You are a business analyst at a manufacturing company. You receive weekly CSV files from different plants. Each file contains columns: PlantID, Date, ProductID, UnitsProduced, and ScrapUnits. However, the files sometimes have missing values in the ScrapUnits column, and occasionally there are duplicate rows (same PlantID, Date, ProductID). You need to prepare a clean dataset for reporting. The requirements are: 1. Combine all CSV files from a folder into a single table. 2. Replace null values in ScrapUnits with 0. 3. Remove duplicate rows based on PlantID, Date, and ProductID, keeping the first occurrence. 4. Ensure the data types are appropriate (e.g., Date as date, UnitsProduced as whole number). Which sequence of Power Query steps should you use?

A.Connect to folder, replace nulls in each file, combine files, remove duplicates, set data types.
B.Connect to folder, combine files, set data types, replace nulls, remove duplicates.
C.Connect to folder, combine files, remove duplicates, replace nulls, set data types.
D.Connect to folder, combine files, replace nulls, remove duplicates, set data types.
AnswerD

This order is the correct Power Query pipeline for folder-based data: combine the files into one table, replace null values with a chosen sentinel, remove duplicate rows, and finally set the data types. Combining first means all transformations are performed on the aggregated result rather than repeated per file, saving compute and avoiding sample-file issues. Replacing nulls before deduplication ensures duplicates are evaluated on normalized values, and setting types last prevents any conversion from interfering with null handling or duplicate detection.

Why this answer

Option D is correct because it follows the proper Power Query order: connect to the folder and combine the CSV files first, then replace null values in ScrapUnits with 0, then remove duplicate rows based on PlantID, Date, and ProductID keeping the first occurrence, and finally set the data types (Date as date, UnitsProduced as whole number). Replacing nulls before removing duplicates ensures that duplicate detection and the retained first row are based on complete data rather than nulls that could later change values. Setting data types last avoids type-conversion errors on text values that may still contain nulls or duplicates.

Option A replaces nulls before combining, which is inefficient and may not apply consistently across all files; Option B sets data types before replacing nulls, which can cause conversion errors; Option C removes duplicates before replacing nulls, so null ScrapUnits values could affect which row is kept.

318
MCQhard

You are preparing data for a financial model. A column named 'Amount' arrives from a source system as text values such as '1.234,56' using a European format where the period is the thousands separator and the comma is the decimal separator. You need to convert these to numeric decimal values. The dataset must refresh without manual intervention as new rows arrive. What should you do?

A.Use Replace Values to remove the periods, then replace the comma with a period, then change the type to Decimal Number.
B.Leave the column as text and create a DAX measure that uses SUBSTITUTE to convert values at query time.
C.Change the column data type to Decimal Number and set the locale in the Change Type step to a European locale such as German (Germany).
D.Change the column data type to Decimal Number using the default English (United States) locale.
AnswerC

Specifying the correct locale during the type change tells Power Query how to interpret the period as a thousands separator and the comma as a decimal point. The conversion then yields accurate decimals and repeats automatically on every refresh, so new rows in the same format are handled without manual steps.

Why this answer

Setting the locale during the type change lets Power Query interpret the European number format correctly, producing accurate decimal values that persist on refresh. String replacement and default-locale conversions either corrupt values or break for edge cases, while leaving the column as text blocks numeric operations.

Exam trap

The trap here is changing the data type without setting the locale, so the engine applies the wrong separator conventions and misreads the numbers.

319
MCQeasy

You need to create a calculated column in Power BI that shows the full name by combining 'FirstName' and 'LastName' columns with a space. Which DAX expression should you use?

A.FullName = [FirstName] & " " & [LastName]
B.FullName = CONCATENATE([FirstName], " ", [LastName])
C.FullName = CONCATENATEX(Table, [FirstName] & " " & [LastName])
D.FullName = [FirstName] + " " + [LastName]
AnswerA

The ampersand (&) is DAX's dedicated string concatenation operator, correctly joining the [FirstName] and [LastName] column values together with a literal space in between. It performs implicit data-type conversion when needed, so even if one column is stored as text and the other as a number, the result is a single text string. This syntax is the standard, efficient, and readable way to build a calculated column in Power BI.

Why this answer

The DAX concatenation operator is the ampersand (&). Option B is wrong because CONCATENATE function only takes two arguments. Option C is wrong because CONCATENATEX is for tables.

Option D is wrong because the plus sign is for addition.

320
MCQeasy

You need to create a relationship between two tables in Power BI. Both tables contain a column named 'ProductID', but the values in one table are integers and in the other are text. What should you do first?

A.Merge the two tables into one in Power Query.
B.Ensure both columns have the same data type, either by changing the data type in Power Query or in the model view.
C.Create a new calculated column that converts the integer to text using FORMAT.
D.Set the relationship to 'Many-to-many' to bypass the type mismatch.
AnswerB

Power BI relationships require that the key columns on both sides have identical data types; a mismatch between text and integer, for example, will prevent the relationship from being created. Changing the data type in Power Query is the preferred method because it transforms the data during load, while changing it in the Model view only alters the metadata and may not propagate back to the query. Ensuring the same data type is the foundational step before defining cardinality and cross-filter direction.

Why this answer

In Power BI, relationships require matching data types on both sides of the key columns. If one 'ProductID' column is integer and the other is text, the relationship engine cannot resolve the join because the data types are incompatible. Changing both columns to the same data type—either in Power Query (recommended for performance) or in the model view—resolves this mismatch and allows a valid relationship to be created.

Exam trap

The trap here is that candidates assume a many-to-many relationship can ignore data type mismatches, but Power BI still enforces type compatibility on the key columns used for the relationship.

How to eliminate wrong answers

Option A is wrong because merging tables in Power Query creates a single denormalized table, which is unnecessary and can lead to data duplication; the goal is to create a relationship, not to combine the tables. Option C is wrong because using FORMAT in a calculated column converts the integer to text, but this adds a redundant column and introduces performance overhead; it is better to change the data type of the column directly in Power Query or the model. Option D is wrong because a many-to-many relationship does not bypass data type mismatches; the relationship engine still requires compatible data types on both key columns, regardless of cardinality.

321
MCQeasy

You are a Power BI author for a marketing agency. You have a report with a pie chart showing the percentage of total leads by source. The report is shared with clients who view it on mobile devices. The pie chart's legend is taking up too much space and making the chart small. What should you do to improve the mobile experience?

A.Change the legend position to 'Top' in the visual formatting.
B.In the mobile layout view, hide the legend and add a custom visual or use data labels to show percentages.
C.Convert the pie chart to a donut chart.
D.Increase the size of the pie chart on the desktop layout, which will also affect mobile.
AnswerB

The mobile layout view allows you to customize the report for phone form factors. By hiding the legend and using data labels to display percentages, you free up space for the pie chart to be larger and more readable. This directly improves the mobile experience.

Why this answer

The mobile layout view in Power BI allows you to design a dedicated phone layout. Hiding the legend and using data labels to show percentages reduces clutter and maximizes the chart area. This is the most effective way to improve the pie chart's readability on mobile devices.

Exam trap

The trap here is assuming that changes to the desktop layout automatically apply to mobile, but mobile has a separate layout that must be configured.

322
MCQmedium

You are building a star schema in Power BI. A fact table contains sales transactions with columns: OrderID, CustomerID, ProductID, Quantity, UnitPrice, Discount, and OrderDate. You need to create a dimension table for customers. Which columns should be included in the Customer dimension?

A.CustomerID, CustomerName, ProductID
B.CustomerID, CustomerName, OrderID
C.CustomerID, CustomerName, OrderDate
D.CustomerID, CustomerName, City, Region
AnswerD

This option correctly represents a Customer dimension: CustomerID serves as the unique key, while CustomerName, City, and Region are all stable, customer-specific descriptive attributes that are guaranteed to be the same for every order placed by that customer. Each row corresponds to exactly one customer, maintaining the grain and enabling clean one-to-many joins to the fact table. These attributes support meaningful slicing by customer geography without causing duplication or row multiplication in the underlying fact data.

Why this answer

Option D is correct because a customer dimension should contain the customer's unique key (CustomerID) plus descriptive attributes that describe the customer, such as CustomerName, City, and Region, which are appropriate for slicing and filtering sales facts. In a star schema, the dimension holds only attributes about the entity, while transactional and numeric fields stay in the fact table. Options A and B incorrectly include ProductID and OrderID, which are keys belonging to other dimensions or the fact table, not customer attributes.

Option C incorrectly includes OrderDate, which is a date attribute that belongs in a separate Date dimension, not the Customer dimension.

323
MCQhard

Your organization uses Power BI with a shared capacity (no Premium capacity). You need to implement row-level security (RLS) on a dataset that is used by multiple reports. Which of the following is a limitation you must consider?

A.RLS is not supported in shared capacity; you need a Premium license.
B.RLS roles must be created in the Power BI service after publishing; they cannot be created in Power BI Desktop.
C.RLS cannot be applied when the dataset uses DirectQuery to a data source that requires single sign-on (SSO) because the user's identity is passed through, and the source must enforce RLS.
D.RLS can only be applied to tables that are imported, not to tables using DirectQuery.
AnswerC

When a DirectQuery dataset connects to a source requiring SSO, Power BI passes the signed-in user's identity to the source database and does not apply static RLS filters from the role. This is because the queries are executed in the source engine under the user's credentials, so the source itself must implement row-level security (e.g., via security predicates). Without SSO, Power BI can still apply RLS to DirectQuery tables by adding filter conditions to the generated queries.

Why this answer

The correct option is C: RLS cannot be applied when the dataset uses DirectQuery to a data source that requires single sign-on (SSO) because the user's identity is passed through, and the source must enforce RLS. In a shared capacity, Power BI does not perform RLS for DirectQuery sources that use SSO; instead, it passes the user's credentials to the source, so the source system must enforce its own row-level security. Options A, B, and D are incorrect: RLS is supported in shared capacity, roles can be created in Power BI Desktop, and RLS can be applied to DirectQuery tables (with the SSO caveat noted in C).

Exam trap

The key trap is that while RLS works with DirectQuery in general, when SSO is enabled, the user's identity flows to the source, and Power BI's RLS cannot filter rows—the source must handle security.

324
Multi-Selecthard

You are using Copilot for Power BI to assist with data preparation. Which THREE tasks can Copilot help you with?

Select 3 answers
A.Generate DAX expressions for calculated columns and measures.
B.Create Power Query M code snippets for common transformations.
C.Set up incremental refresh policies.
D.Suggest transformations to clean and shape data.
E.Configure data source credentials for refresh.
AnswersA, B, D

Copilot for Power BI interprets natural language descriptions and generates syntactically valid DAX expressions for calculated columns and measures, leveraging the semantic model's schema and relationships. This capability supports data preparation by extending the model with custom logic, such as time intelligence, conditional flags, or ratio metrics, without requiring manual DAX authoring. It also assists with debugging or explaining existing DAX, making it a core feature for data modeling.

Why this answer

Copilot for Power BI is designed to accelerate data preparation and modeling by generating DAX expressions for calculated columns and measures (A), which is a core supported capability for authoring calculations from natural-language prompts. It can also create Power Query M code snippets for common transformations (B), helping users build or extend queries in the Power Query Editor. Additionally, Copilot can suggest transformations to clean and shape data (D), such as removing duplicates, changing types, or splitting columns, which directly supports data preparation.

Options C and E are not Copilot tasks: incremental refresh policies and data source credentials are configured manually in Power BI Desktop or the Power BI service settings, not generated by Copilot.

Exam trap

The trap here is that candidates may assume Copilot can automate administrative tasks like refresh policies or credential configuration, but Copilot is limited to data preparation and transformation assistance within the Power BI Desktop environment.

325
MCQmedium

Refer to the exhibit. You apply the above RLS rule to a semantic model. The rule is intended to restrict sales data by the user's region, which is stored in the user's email domain (e.g., user@west.contoso.com). However, the rule does not filter any rows. What is the most likely issue?

A.The Sales table does not have a Region column.
B.USERPRINCIPALNAME() is not available in the current Power BI version.
C.The filter expression compares the full UPN to the Region column, which likely contains only the region name.
D.The RLS rule is not applied to the semantic model.
AnswerC

The RLS predicate uses USERPRINCIPALNAME(), which returns the complete user principal name including the domain suffix, for example alice@west.contoso.com. If the Region column stores only simple region values such as 'West' or 'Central', a direct equality comparison will never match because 'West' is not equal to 'alice@west.contoso.com'. Therefore, every row is filtered out and the table appears empty.

Why this answer

The correct answer is C: the filter expression compares the full UPN to the Region column, which likely contains only the region name. USERPRINCIPALNAME() returns the entire sign-in name such as user@west.contoso.com, so an equality test against a Region value like "West" will never match and no rows are filtered. The rule should instead extract the subdomain or use a mapping table (for example, using SEARCH or PATHITEM-style parsing) to derive the region before comparing.

Option A is unlikely because the scenario states the rule is intended to restrict by region and the failure is that it filters nothing, which points to a value mismatch rather than a missing column. Option B is false because USERPRINCIPALNAME() is supported in Power BI for RLS. Option D is incorrect because if the rule were not applied at all, that would be a deployment issue, but the question focuses on the rule's expression logic.

326
MCQhard

You are a Power BI data analyst for a financial services company. You have a Power Query query that combines data from multiple Excel workbooks stored in a SharePoint folder. The workbooks have a consistent structure. You need to ensure that when new workbooks are added to the folder, the query automatically includes them upon refresh. You also need to minimize the risk of query failures due to schema changes. What should you do?

A.Use the SharePoint Folder connector, filter to the relevant files, combine binaries, and then use a transformation that selects only the required columns and handles missing columns.
B.Use the SharePoint Folder connector, filter to the relevant files, combine binaries, and then remove the 'Changed Type' step.
C.Use the SharePoint Folder connector, filter to the relevant files, and then use the 'Combine Files' button without any further transformations.
D.Use the SharePoint Folder connector, filter to the relevant files, combine binaries, and then promote headers.
AnswerA

This approach automatically includes new files because it uses the folder connector and combines binaries. By explicitly selecting only the required columns and handling missing columns (e.g., using Table.SelectColumns with MissingField.UseNull), you minimize the risk of failures due to schema changes such as added or removed columns. This is a robust pattern for combining files with potential schema evolution.

Why this answer

The most robust approach is to use the SharePoint Folder connector to automatically pick up new files, then combine the binaries. After combining, explicitly select only the columns needed and handle missing columns gracefully, for example by using Table.SelectColumns with MissingField.UseNull. This ensures that new files are included and that schema variations do not break the query.

Simply combining without these safeguards leaves the query vulnerable to schema changes.

Exam trap

The trap here is assuming that the 'Combine Files' feature automatically handles all schema changes without additional configuration.

327
MCQeasy

You are creating a Power BI report and want to allow users to ask questions about the data using natural language. Which feature should you enable?

A.Quick Insights.
B.Key Influencers visual.
C.Q&A visual.
D.Copilot for Power BI.
AnswerC

The Q&A visual embeds a natural-language query box directly in the report, letting users type questions and receive auto-generated visuals without authoring anything. This satisfies the stem's requirement for natural-language questioning within Power BI, unlike static visuals or filters that demand predefined interactions.

Why this answer

The Q&A visual (option C) is the correct choice because it lets report consumers type natural-language questions and automatically returns answers as visuals, which is exactly the requirement for asking questions about the data in natural language. Quick Insights (A) instead runs automated analytics to surface patterns and anomalies without accepting user questions. The Key Influencers visual (B) is a predefined AI visual that explains which factors drive a metric, not a natural-language query interface.

Copilot for Power BI (D) can generate report content and summaries, but the dedicated in-report natural-language question feature is the Q&A visual.

328
MCQeasy

You have a Power BI dataset that connects to an Azure SQL Database. You need to use single sign-on (SSO) so that users' identities are passed to the database. What authentication method should you configure?

A.Windows authentication
B.Key authentication
C.OAuth2 with Microsoft Entra ID
D.Basic authentication with a service account
AnswerC

OAuth2 with Microsoft Entra ID is the correct choice because Power BI can obtain an OAuth2 access token from Microsoft Entra ID on behalf of the signed-in user and pass that token to Azure SQL Database. This enables true single sign-on (SSO) because the database sees the individual user's identity rather than a shared service account. Consequently, row-level security (RLS) and audit logs reflect the actual user, and conditional access policies in Entra ID are enforced.

Why this answer

OAuth2 with Microsoft Entra ID (option C) is correct because Power BI's SSO to Azure SQL Database relies on Microsoft Entra ID token-based authentication, where the user's Entra ID identity is passed through to the database via OAuth2, enabling row-level security and auditing per user. Azure SQL Database natively supports Entra ID authentication, and Power BI can forward the user's token when the data source is configured with DirectQuery and SSO enabled. Windows authentication (A) is not applicable since Azure SQL Database does not accept on-premises Windows/Kerberos credentials directly without a gateway and Entra ID setup.

Key authentication (B) uses a shared key rather than a user identity, so it cannot provide SSO. Basic authentication with a service account (D) uses a single shared credential, not the individual user's identity, so it also fails to meet the SSO requirement.

329
MCQmedium

You have a Power BI data model with a table that contains duplicate rows. You want to remove duplicates in Power Query. Which transformation should you use?

A.Replace Values
B.Remove Duplicates
C.Filter Rows
D.Group By
AnswerB

Remove Duplicates is the dedicated Power Query transformation that removes rows with identical values across all selected columns, retaining only the first occurrence. By default, it considers all columns, and if a table contains duplicate records, selecting this option from the context menu or the ribbon will directly reduce the row count to only unique combinations. This operation is case-sensitive and treats nulls as values to compare, making it the correct and intended method for eliminating duplicate tabular data.

Why this answer

The correct option is B, Remove Duplicates, because it is the Power Query transformation specifically designed to eliminate duplicate rows from a table by comparing all columns (or selected columns) and keeping only the first occurrence of each unique row. In this scenario, the table contains duplicate rows, so applying Remove Duplicates directly addresses the requirement without altering the underlying data values. Replace Values (A) only substitutes specific text or numbers and does not remove rows.

Filter Rows (C) excludes rows based on conditions but cannot identify duplicates across all columns. Group By (D) aggregates rows and would change the table structure rather than simply removing duplicate rows.

330
MCQeasy

You are building a Power BI semantic model that includes a Customers table and a Sales table. The Customers table has a unique CustomerID column. The Sales table has a CustomerID column that references the Customers table. You need to create a relationship between the two tables. Which type of relationship should you create?

A.Many-to-many relationship between Customers and Sales.
B.One-to-many relationship with Customers as the one side and Sales as the many side.
C.One-to-one relationship between Customers and Sales.
D.Many-to-one relationship with Sales as the one side and Customers as the many side.
AnswerB

This is the correct relationship because each customer appears once in the Customers table but can have multiple sales transactions in the Sales table. A one-to-many relationship from Customers to Sales ensures that filtering on Customers propagates to Sales, which is typical for a dimension-to-fact relationship in a star schema.

Why this answer

The correct relationship is one-to-many from Customers to Sales because each customer is unique in the Customers table and can have multiple related rows in the Sales table. This is the standard dimension-to-fact relationship in a star schema, enabling efficient filtering and aggregation.

Exam trap

The trap here is confusing the direction of the relationship or assuming a many-to-many relationship is needed when unique keys exist.

331
MCQmedium

You have a Power BI dataset that includes a date table created using CALENDAR(). You need to ensure that the date table always covers the full range of dates present in the fact table, even after new data is loaded. What should you do?

A.Use a fixed start and end date in the CALENDAR function
B.Create a disconnected date table
C.Create the date table using CALENDAR(MIN('Fact'[Date]), MAX('Fact'[Date]))
D.Enable Auto Date/Time in the model
AnswerC

CALENDAR(MIN('Fact'[Date]), MAX('Fact'[Date])) generates a date table whose range is dynamically derived from the fact table's minimum and maximum dates on each refresh. This ensures the date table always covers the exact span of transactional activity, automatically expanding when new data includes later or earlier dates. Because the range is computed rather than hard-coded, it requires no manual maintenance and provides a continuous set of date keys suitable for marking as the model's date table and enabling time intelligence.

Why this answer

Using `CALENDAR(MIN('Fact'[Date]), MAX('Fact'[Date]))` dynamically computes the date range from the fact table's actual data. This ensures that when new data is loaded with dates outside the previous range, the date table automatically expands to cover the full range, maintaining referential integrity for time intelligence calculations.

Exam trap

The trap here is that candidates often choose Option A (fixed dates) because they think a static range is simpler and sufficient, but they overlook the requirement for the date table to dynamically cover the full range after new data loads, which only a dynamic CALENDAR expression can achieve.

How to eliminate wrong answers

Option A is wrong because using a fixed start and end date in the CALENDAR function creates a static date table that will not expand when new data with dates outside that fixed range is loaded, leading to missing dates and broken relationships. Option B is wrong because a disconnected date table is not related to the fact table via a relationship, so it cannot enforce referential integrity or be used for standard time intelligence functions that rely on an active relationship. Option D is wrong because enabling Auto Date/Time creates hidden date tables automatically, but these tables are not user-defined, cannot be customized, and do not guarantee coverage of the exact date range present in the fact table; they also increase model size and are not recommended for production.

332
MCQhard

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

A.The Customer and Date tables are not related to each other.
B.The relationship between Orders and Date is inactive.
C.The relationships are set to single direction, so filters from Date do not propagate to Orders.
D.The measure might be using ALL or ALLEXCEPT that removes the filter context from the Date table.
AnswerD

A measure that uses ALL('Date') or ALLEXCEPT('Date') inside CALCULATE explicitly removes the filter context from the entire Date table or from all Date columns except those specified. For instance, CALCULATE(SUM(Orders[Amount]), ALL('Date')) would ignore a slicer on Date[Year], because ALL('Date') clears every filter applied to the Date table, including the Year column. ALLEXCEPT('Date', 'Date'[Month]) would preserve a Month filter but still ignore Year if Year is not in the exceptions list. This is the classic cause when a measure appears unresponsive to slicer selections, even though the underlying relationships and directions are perfectly normal.

Why this answer

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

Exam trap

The trap here is that candidates often assume filter propagation direction is the problem, but the real issue is that DAX filter removal functions like ALL or ALLEXCEPT can silently override slicer filters, making it appear as though the relationship is broken.

How to eliminate wrong answers

Option A is wrong because the Customer and Date tables do not need to be directly related; filters propagate independently through their respective relationships to the Orders table. Option B is wrong because the relationship between Orders and Date is explicitly described as active (many-to-one, single direction), so it is not inactive. Option C is wrong because single-direction relationships do allow filters from the Date table to propagate to Orders; the issue is not with direction but with the measure overriding the filter context.

333
MCQeasy

You have a date table with columns: Date, Year, Month, Quarter, Day. To enable time intelligence functions like TOTALYTD, what is the minimum requirement?

A.A separate date table with a continuous range of dates and a relationship to the fact table.
B.Mark the date table as a date table in Power BI.
C.Combine date and fact tables into one table.
D.A single date column in the fact table.
AnswerA

This is the minimum requirement for correct time intelligence in Power BI. A separate date table must include every date in the range spanning the fact table's dates, with no gaps, and be marked as a date table; critically, it must also have a relationship (typically one-to-many) to the fact table's date column so that filters propagate correctly. With this structure, DAX functions such as TOTALYTD, SAMEPERIODLASTYEAR, and DATEADD can safely rely on the continuous calendar to compute period-over-period comparisons. Note that marking the table as a date table is also mandatory, but the separate table and relationship are the foundational prerequisite.

Why this answer

The correct answer is A: a separate date table with a continuous range of dates and a relationship to the fact table. Time intelligence functions like TOTALYTD require a dedicated date table that contains an unbroken sequence of dates (no gaps) and is related to the fact table, so the engine can correctly filter and aggregate across time periods. Option B is insufficient because marking a table as a date table is a helpful setting but does not by itself satisfy the structural requirement of a continuous date range and relationship.

Option C is wrong because merging date and fact tables into one table breaks the star schema and does not provide the separate date dimension time intelligence needs. Option D is wrong because a single date column in the fact table lacks the continuous, dedicated date dimension required for functions like TOTALYTD.

334
Multi-Selectmedium

Which TWO of the following are valid reasons to use a calculated table in Power BI instead of a table from the source?

Select 2 answers
A.To create a bridge table for many-to-many relationships
B.To aggregate data from the source before loading
C.To create a date table for time intelligence
D.To enable incremental data refresh
E.To reduce the overall storage size of the model
AnswersA, C

Calculated tables are evaluated in DAX at model load time, making them ideal for constructing a bridge table when two dimension tables have a many-to-many relationship. You can generate the unique key combinations using functions like DISTINCT or SUMMARIZECOLUMNS and store that result physically in the model. This approach resolves ambiguity at the relationship level without requiring changes to your source schema.

Why this answer

Option A is correct because a calculated table can be built with DAX (e.g., DISTINCT or SUMMARIZE over the two related tables) to produce a bridge table that resolves a many-to-many relationship, something a raw source table cannot do without additional modeling. Option C is correct because a calculated table can be generated with DAX functions like CALENDAR or CALENDARAUTO to create a dedicated date table, which is required for time intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR. Option B is not a valid reason because aggregation before loading is performed in Power Query or at the source, not by a calculated table, which is computed after data is loaded into the model.

Option D is not valid because incremental refresh is configured on the table's refresh policy and requires a source-side filter, not a calculated table. Option E is not valid because calculated tables are materialized in memory and typically increase, rather than reduce, the model's storage size.

335
MCQhard

Your organization is deploying Power BI content to multiple stages (dev, test, prod) using deployment pipelines. You need to ensure that test data is not visible to production users. What is the best approach?

A.Manually replace the dataset in the production workspace after deployment.
B.Apply row-level security to filter test data in production.
C.Create separate Power BI tenants for each stage.
D.Use deployment pipelines with separate datasets per stage and configure data source parameters to point to different databases.
AnswerD

Using deployment pipelines with separate datasets per stage and configuring data source parameters to point to different databases is the correct approach because it automates the propagation of reports, dashboards, and datasets across environments while preserving the separation of data at each stage. By defining parameters for the server and database in Power Query, you can deploy the same report package but repoint each stage to its own database, ensuring test and QA workloads never hit production data and enabling safe validation before final release.

Why this answer

Option D is correct because deployment pipelines support deployment rules that let you bind each stage's dataset to a different data source via parameters, so the production stage connects to the production database and never exposes test data. Configuring data source parameters per stage is the standard mechanism for environment-specific connections in Power BI deployment pipelines. Option A is wrong because manually swapping datasets after deployment is error-prone and not a pipeline feature.

Option B is wrong because row-level security filters rows for users, not test versus production data sources, and would still leave test data in the production dataset. Option C is wrong because separate tenants per stage is an extreme, costly approach that deployment pipelines are specifically designed to avoid.

336
Multi-Selectmedium

You are a Power BI data analyst for a manufacturing company. You have a report with a line chart showing daily production output over the past year. Users report that the line chart is cluttered and difficult to read due to daily fluctuations. You need to add analytics features to the line chart to help users identify trends and outliers. Which two features should you add? (Choose two.)

Select 2 answers
A.Error bars
B.Trend line
C.Forecast
D.Anomaly detection
E.Constant line
AnswersB, D

A trend line in a line chart displays the general direction of the data over time, smoothing out daily fluctuations. It helps users quickly identify whether production output is increasing, decreasing, or remaining stable, which directly addresses the clutter and readability issue.

Why this answer

Adding a trend line helps smooth out daily fluctuations and reveals the overall direction of production output. Anomaly detection automatically identifies and highlights unusual data points, making outliers immediately visible. Together, these features make the line chart easier to interpret.

Forecast, constant line, and error bars do not directly address the need to identify trends and outliers in historical data.

Exam trap

The trap here is assuming that any analytics feature improves readability, but only trend line and anomaly detection directly address trends and outliers in historical data.

337
MCQeasy

You need to create a hierarchy in Power BI that allows drilling down from Year to Quarter to Month. What is the correct approach?

A.Create separate measures for each level
B.Use the Drillthrough feature
C.Use the DATESYTD function
D.Create a hierarchy in the Date table using Year, Quarter, Month columns
AnswerD

Creating a hierarchy in the Date table by placing Year above Quarter above Month defines a parent-child level structure that visuals can traverse. When a report field includes this hierarchy, Power BI automatically adds drill-down and expand controls, letting you move from annual to quarterly to monthly detail in the same chart.

Why this answer

The correct option is D: create a hierarchy in the Date table using the Year, Quarter, and Month columns. In Power BI, a hierarchy is built by dragging fields onto each other in the Fields pane, so placing Year above Quarter above Month in a date table produces exactly the Year → Quarter → Month drill-down path required. The other options do not fit: A (separate measures) produces independent calculations, not a drillable hierarchy; B (Drillthrough) navigates to a separate report page filtered by a selected value, not down levels within a visual; and C (DATESYTD) is a time-intelligence function that returns year-to-date totals, not a hierarchy.

338
MCQmedium

A company has a Power BI dataset that imports data from a SQL Server database. The dataset includes a table with 10 million rows. The data model uses a single table and does not include any calculated columns or measures. The report users report that the dataset refresh takes too long. Which action should you take to improve refresh performance?

A.Increase the scheduled refresh frequency to every 15 minutes.
B.Enable Query Folding on all steps in Power Query.
C.Change the storage mode to DirectQuery.
D.Remove unused columns from the table in Power Query.
AnswerD

Power Query column removal reduces the data volume loaded and compressed into the VertiPaq model, cutting refresh time proportionally. With no calculated columns or measures to preserve, dropping unused columns is the most direct lever on refresh duration for a single-table import model.

Why this answer

Removing unused columns from the table in Power Query reduces the amount of data loaded into the Power BI dataset. With 10 million rows, every unnecessary column adds significant I/O and memory overhead during refresh. This directly improves refresh performance by minimizing the data volume transferred and processed.

Exam trap

The trap here is that candidates often confuse refresh performance with query performance, leading them to choose DirectQuery (Option C) which solves query latency but does not improve the import refresh time that the question explicitly targets.

How to eliminate wrong answers

Option A is wrong because increasing the scheduled refresh frequency to every 15 minutes does not improve the performance of a single refresh; it only makes refreshes happen more often, which could actually increase load on the source system. Option B is wrong because Query Folding pushes transformations back to the SQL Server, but the question states the dataset imports data from SQL Server and has no calculated columns or measures; enabling Query Folding on all steps is not a guaranteed performance improvement if the steps are already foldable, and it does not address the core issue of a large single table with 10 million rows. Option C is wrong because changing the storage mode to DirectQuery would avoid importing the data, but it shifts performance burden to query-time latency and is not a refresh performance improvement; the question specifically asks about improving dataset refresh time, not report query performance.

339
MCQeasy

You want to create a Power BI report that allows users to ask questions in natural language and get visual answers. Which feature should you enable?

A.Q&A visual
B.Key influencers visual
C.Copilot for Power BI
D.Decomposition tree
AnswerA

The Q&A visual embeds a natural-language query box directly in the report, letting users type questions and receive visual answers without authoring anything. It satisfies the stem's requirement for conversational querying, unlike filter-based or drill-through interactions, which demand predefined fields and manual navigation.

Why this answer

The Q&A visual is the correct choice because it lets report consumers type natural-language questions into a report and receive automatic visual answers, which is exactly the requested capability. It works by interpreting the question against the semantic model and rendering an appropriate chart without requiring users to build visuals manually. The Key influencers visual instead explains which factors drive a metric, and the Decomposition tree is for interactive root-cause breakdowns across dimensions, so neither accepts free-form natural-language questions.

Copilot for Power BI can assist with authoring and summaries, but the dedicated in-report feature for natural-language questions and visual answers is the Q&A visual.

340
MCQeasy

You are merging two tables in Power Query: Orders and Customers. The Orders table has a CustomerID column, and the Customers table has a CustomerID column. You want to keep all rows from Orders and only matching rows from Customers. Which join kind should you use?

A.Full Outer
B.Inner
C.Left Outer
D.Right Outer
AnswerC

Left outer join in Power Query preserves every row from the left table (orders) and adds columns from the right table (customers) only where a match exists, filling non-matches with null. This guarantees that the order count remains unchanged, which is typically the primary business requirement when merging order records with customer reference data. It is the correct choice because it retains all orders while still enriching them with available customer attributes.

Why this answer

(Left Outer) is correct because it returns all rows from the Orders table regardless of whether a matching CustomerID exists in the Customers table. When no match is found, the Customers columns will contain null values. This is the standard behavior for a left outer join in Power Query, which preserves the left table's rows entirely.

Exam trap

The trap here is that candidates often confuse Left Outer with Right Outer, mistakenly thinking that 'keeping all rows from Orders' means the Orders table should be on the right side, when in Power Query the join direction is determined by which table is selected as the primary table in the Merge dialog.

How to eliminate wrong answers

Option A is wrong because a Full Outer join would return all rows from both tables, including unmatched rows from both sides, which is not what the requirement specifies. Option B is wrong because an Inner join would only return rows where CustomerID exists in both tables, discarding any Orders rows without a matching Customer in Customers. Option D is wrong because a Right Outer join would keep all rows from Customers and only matching rows from Orders, which is the opposite of the stated requirement.

341
Multi-Selectmedium

Which TWO actions can improve the performance of a Power BI report that uses DirectQuery?

Select 2 answers
A.Create calculated columns instead of measures.
B.Push transformations to the data source.
C.Reduce the number of columns in the query.
D.Use bidirectional cross-filtering.
E.Increase cross-filter direction to both.
AnswersB, C

Pushing transformations to the data source leverages the source database's indexes, query optimizer, and parallel processing capabilities, reducing the load on Power BI during refresh. This is accomplished through SQL views, stored procedures, or native queries in Power Query, which enable query folding and keep only the final, necessary data set in the model. It also reduces data refresh time and ensures that only relevant rows and columns are transferred, improving overall report performance.

Why this answer

Option B is correct because with DirectQuery, every visual interaction is translated into a query against the source, so pushing transformations (filters, joins, aggregations) to the data source lets the source engine do the heavy lifting and reduces the amount of data Power BI must process. Option C is correct because reducing the number of columns in the query shrinks the result set returned to Power BI, lowering network transfer and memory/processing overhead, which directly improves DirectQuery report performance. Option A is not correct because calculated columns are computed and stored in the model, and in DirectQuery they can force row-by-row processing or unsupported query patterns rather than improving source-side performance.

Options D and E are not correct because bidirectional cross-filtering (cross-filter direction set to both) adds extra query complexity and can degrade performance rather than improve it.

342
MCQeasy

You are a Power BI data analyst for a marketing agency. You have a report page with several visuals that display campaign performance metrics. The page is getting crowded, and you need to provide users with a way to view different sets of visuals without creating multiple report pages. You decide to use bookmarks and a bookmark navigator. What should you do to ensure that users can switch between views seamlessly?

A.Use the 'Data' option in the bookmark settings to capture the current filter state for each view.
B.Create bookmarks for each view, and in the Selection pane, hide or show the relevant visuals before capturing each bookmark.
C.Add buttons for each view and configure them to navigate to different report pages.
D.Create separate bookmarks for each view, ensuring that the 'Display' option is checked for all visuals.
AnswerB

To create distinct views, you must hide or show visuals as desired, then capture a bookmark for each configuration. The Selection pane allows you to toggle visibility. When users select a bookmark via the navigator, the visuals update to match the saved state, providing seamless switching.

Why this answer

Bookmarks capture the current state of a report page, including visual visibility. To create different views on the same page, you hide or show visuals using the Selection pane, then create a bookmark for each configuration. The bookmark navigator provides buttons to switch between these bookmarks.

Capturing data or using page navigation does not achieve the desired in-page view switching.

Exam trap

The trap here is thinking that bookmarks automatically capture visual visibility without explicitly setting it; you must configure visibility before adding each bookmark.

343
MCQmedium

You are working on a Power BI project for a marketing department. You have a CSV file with customer survey responses. The file contains columns: CustomerID, SurveyDate, Response (text with ratings from 1 to 5), Comments (free text). The file is 10 MB. You need to load the data into Power BI and create a measure that calculates the average rating. However, when you load the file, you notice that the Response column is imported as text instead of whole number. Also, there are some rows with missing values in the Response column. You need to ensure the data is correctly typed and handle missing values appropriately. What is the best approach?

A.Use the 'Column from Examples' feature to create a new column with numeric values.
B.In Power Query, split the Response column by delimiter and then use the first part.
C.Use a DAX calculated column to convert text to number.
D.Change the data type of Response to whole number in Power Query, then filter out or replace null values.
AnswerD

Changing the data type of the Response column to whole number in Power Query is the correct approach because it directly addresses the underlying issue: the column is text but requires a numeric type for analysis. In Power Query, this transformation attempts to convert every value, and null values or invalid entries can be handled in the same step by filtering out invalid rows or replacing nulls with a default (e.g., 0) before loading. This is efficient, happens before data enters the model, and avoids the extra overhead of DAX calculated columns while preserving the column's identity and data lineage.

Why this answer

Power Query is the designated tool for data type transformations and null handling during the load phase. Changing the Response column's data type to Whole Number in Power Query automatically converts valid text numbers and flags errors, while filtering out or replacing null values ensures clean data before the data model is built. This approach follows the best practice of performing data cleansing in Power Query rather than in DAX, which would add unnecessary overhead and complexity.

Exam trap

The trap here is that candidates often think data type conversion can be done in DAX (Option C) because it seems simpler, but the PL-300 exam emphasizes that Power Query is the correct place for data preparation tasks like type changes and null handling, not the data model layer.

How to eliminate wrong answers

Option A is wrong because the 'Column from Examples' feature is designed for extracting or combining values based on patterns, not for bulk data type conversion; it would be inefficient and error-prone for converting a column of text numbers to numeric values. Option B is wrong because splitting the Response column by delimiter assumes the text contains a delimiter, which is not the case here (the column contains simple ratings like '1' or '5'), and it would create unnecessary columns without solving the type conversion or null handling. Option C is wrong because using a DAX calculated column to convert text to number is possible but is inefficient and violates the principle of performing data type transformations in Power Query; it also does not handle null values in the source data, which would still need to be addressed separately.

344
MCQmedium

You have a Power BI data model with a fact table and multiple dimension tables. You notice that many-to-many relationships cause ambiguous results. What is the best practice to resolve this?

A.Change the relationship to one-to-one
B.Use a bidirectional cross-filter direction
C.Create a calculated table to merge the dimensions
D.Add a bridge table with appropriate relationships
AnswerD

A bridge table is the standard pattern for handling many-to-many relationships in Power BI: it holds unique combinations of the involved keys and connects to the fact table via one-to-many relationships to each dimension. This normalizes the originally ambiguous many-to-many relationship into two clear one-to-many paths, allowing filters from either dimension to propagate correctly without duplicating fact rows. It preserves each dimension's granularity and ensures that measures aggregate exactly once per relevant fact record, making it the correct modeling solution.

Why this answer

In Power BI, many-to-many relationships between fact and dimension tables can produce ambiguous results because the model cannot determine a unique filter propagation path. The best practice is to introduce a bridge table that resolves the many-to-many relationship into two one-to-many relationships, ensuring unambiguous filter context and correct aggregations.

Exam trap

The trap here is that candidates often confuse bidirectional cross-filter direction as a quick fix for many-to-many relationships, but Microsoft explicitly warns that bidirectional filtering can lead to ambiguous results and performance degradation, whereas a bridge table is the recommended pattern.

How to eliminate wrong answers

Option A is wrong because changing the relationship to one-to-one is rarely feasible in real-world data models where multiple facts naturally relate to multiple dimensions, and forcing a one-to-one would require data duplication or loss of granularity. Option B is wrong because bidirectional cross-filter direction can cause ambiguous filter propagation and performance issues, and it does not resolve the underlying logical many-to-many relationship; it often leads to circular dependencies or unexpected results. Option C is wrong because creating a calculated table to merge dimensions does not address the many-to-many relationship; it simply combines dimension attributes without resolving the cardinality mismatch, and it can introduce redundancy and maintenance challenges.

345
MCQmedium

You have the above M query. You need to load only the top 10 customers by sales. What should you add to the query?

A.Add a step to use Table.SelectRows with a condition on rank.
B.Add a filter to keep only rows where [Total Sales] is in the top 10 values.
C.Add Table.FirstN(#"Sorted Rows", 10) after sorting.
D.Add a step to use Table.StopAfter(#"Sorted Rows", 10).
AnswerC

After sorting the table in descending order by Total Sales, the immediate next step should be Table.FirstN(#"Sorted Rows", 10). This function returns a table containing only the first 10 rows from the input table, which correspond exactly to the top 10 customers. It preserves the existing row order and is both concise and efficient, making it the required M expression.

Why this answer

The query already sorts by Total Sales descending. To get top 10, you need to add a step to keep the first 10 rows, using Table.FirstN.

346
MCQhard

You are building a Power BI semantic model that uses a large fact table from a data warehouse. The fact table has a date column and you want to create a date dimension. The organization requires that the date dimension includes all dates from 2010 to 2030, including weekends and holidays. What is the best practice for creating the date dimension?

A.Use the CALENDAR function in DAX to generate the date range
B.Mark the date column from the fact table as a date table and disable Auto Date/Time
C.Create a date dimension by using DISTINCT on the fact table's date column
D.Create a date table in Power Query by generating a list of dates from 1/1/2010 to 12/31/2030 and then add columns for attributes
AnswerD

Generating a complete list of dates in Power Query from 1/1/2010 to 12/31/2030 ensures that every day in that span exists as a row in the date table, regardless of activity in the fact table. You can then use M to add derived columns like year, month, quarter, ISO week number, and custom holiday flags by referencing a holidays table, making the solution flexible and easy to maintain. This approach follows the best practice of creating a distinct, static date dimension that supports reliable time intelligence and efficient relationships in a large semantic model.

Why this answer

It follows the best practice of creating a dedicated date dimension table in Power Query, which ensures full control over the date range (2010–2030) and allows you to add custom attributes like holidays. This approach avoids relying on the fact table's date column, which may have gaps or missing dates, and ensures the date dimension is complete and independent for robust time intelligence calculations.

Exam trap

The trap here is that candidates often choose Option C (DISTINCT on the fact table) thinking it is efficient, but they overlook that it will miss dates with no transactions, violating the requirement to include all weekends and holidays from 2010 to 2030.

How to eliminate wrong answers

Option A is wrong because the CALENDAR function in DAX creates a calculated table that is volatile and recalculates on every refresh, which can degrade performance with large models; it also lacks the ability to easily add custom columns like holidays in Power Query. Option B is wrong because marking a date column from the fact table as a date table is not recommended when the fact table may have missing dates (e.g., weekends or holidays), and disabling Auto Date/Time is a separate setting that does not create a proper date dimension. Option C is wrong because using DISTINCT on the fact table's date column will only include dates that exist in the fact table, which may omit weekends or holidays if no transactions occurred on those days, resulting in an incomplete date dimension.

347
Multi-Selecthard

Which are valid ways to create a calculated table in Power BI? (Select all that apply)

Select 4 answers
A.VALUES(Customer[Country])
B.CALCULATE(SUM(Sales[Amount]), ALL(Sales))
C.FILTER(Products, Products[Color] = "Red")
D.CALENDARAUTO()
E.SUMMARIZE(Sales, Sales[ProductID], "Total", SUM(Sales[Amount]))
AnswersA, C, D, E

VALUES(Customer[Country]) returns a single-column table of the distinct values in that column, so it satisfies the stem's requirement for a valid calculated-table expression. Entered via New table in Power BI Desktop, it materialises those unique country values as a calculated table.

Why this answer

To create a calculated table, you need a DAX expression that returns a table object. Options A, C, D, and E all return tables: VALUES returns a single-column table of distinct values; FILTER returns a filtered subset of rows; CALENDARAUTO returns a date range table; SUMMARIZE returns a grouped table with aggregations. Option B, CALCULATE, returns a scalar value, not a table, so it is invalid.

Exam trap

The trap is assuming only specialized table functions like CALENDARAUTO and SUMMARIZE are valid, while other table-returning functions like VALUES and FILTER are also perfectly valid for calculated tables. The key is to recognize that any DAX function that returns a table can be used.

348
MCQmedium

You have a Power BI report that shows sales by product category. The report is used by the sales team, who need to see the data at a regional level. You want to allow users to switch between viewing data for all regions and a specific region without creating multiple pages. Which feature should you use?

A.Use bookmarks with a region slicer.
B.Add a tooltip page that shows regional data.
C.Create drillthrough pages for each region.
D.Enable the Q&A visual and let users type the region.
AnswerA

Bookmarks are the correct choice because they capture a snapshot of a report page's state, including the current selection in a region slicer. You can create one bookmark per region, each storing the slicer's filtered state, and then bind those bookmarks to buttons so users can switch the view instantly without leaving the page. This satisfies the requirement to show sales by product category while letting the user change the region context through a controlled, interactive navigation experience.

Why this answer

Bookmarks with a region slicer is the correct approach because bookmarks capture the current state of a report page, including slicer selections, so users can toggle between an 'All regions' view and a filtered single-region view on the same page without duplicating pages. This directly satisfies the requirement to switch views in place while keeping a single report page. Tooltip pages only show supplementary detail on hover and cannot replace the main page's filtered view, drillthrough pages navigate to separate pages per region rather than switching views on one page, and the Q&A visual requires users to type natural-language queries instead of providing a simple toggle control.

349
MCQmedium

You are modeling data from multiple sources: a SQL Server database for sales, an Excel file for budget, and a SharePoint list for product targets. You need to combine these into a single Power BI report. What is the recommended approach for handling data refresh?

A.Import each source into separate Power BI Desktop files and manually update.
B.Use Excel Online as the single source and import all data into it first.
C.Use Power Query to combine data from all sources into a single dataset, then schedule a daily refresh in the Power BI service.
D.Create separate datasets for each source and use composite models with DirectQuery.
AnswerC

Power Query (Get Data) provides native connectors and a rich transformation environment to merge, append, and shape datasets from disparate sources into a single, consistent model. Publishing that model once and configuring a daily scheduled refresh in the Power BI service centralizes maintenance and ensures all visuals receive updated data automatically. This approach aligns with best practices for scalable self-service BI because the refresh burden is handled by the service, not a user.

Why this answer

Power Query (Get Data) in Power BI Desktop is designed to connect to and combine data from multiple heterogeneous sources—SQL Server, Excel, and SharePoint—into a single dataset. After publishing to the Power BI service, you can configure a scheduled refresh (via an on-premises data gateway for on-premises sources) to keep the dataset up to date automatically, which is the recommended approach for recurring refreshes.

Exam trap

The trap here is that candidates often confuse composite models (DirectQuery) with import mode, thinking they can combine sources with DirectQuery and still schedule a refresh, but DirectQuery does not support scheduled refresh—it queries the source live, which is not the recommended approach for combining multiple sources into a single refreshable dataset.

How to eliminate wrong answers

Option A is wrong because manually updating separate Power BI Desktop files defeats the purpose of automation and introduces data inconsistency and extra overhead; Power BI is built for scheduled, centralized refresh. Option B is wrong because using Excel Online as an intermediary adds unnecessary complexity, potential data duplication, and a single point of failure; Power Query can directly ingest each source without an intermediate layer. Option D is wrong because composite models with DirectQuery are intended for real-time or large-scale scenarios where you need to keep data in the source, not for combining multiple sources into a single refreshable dataset; scheduled refresh is not supported with DirectQuery sources in the same way as import mode.

350
MCQmedium

You are developing a Power BI semantic model for an e-commerce company. The source data comes from a CSV file containing order details: OrderID, OrderDate, CustomerID, ProductID, Quantity, UnitPrice, Discount, and ShippingCost. The file is updated daily. You need to model the data to support the following analyses: 1) Total sales amount (Quantity * UnitPrice - Discount) by product and month. 2) Average shipping cost per order by customer region (CustomerRegion is in a separate table). 3) Year-over-year comparison of sales. You need to create the measures and ensure optimal performance. What should you do?

A.Use Power Query to add a calculated column for sales amount and shipping cost per order, then import.
B.Create a single table by appending the customer region to each row in the CSV using Power Query, then import.
C.Use DirectQuery on the CSV file to avoid storing data in Power BI.
D.Import both tables into Power BI, create a date table, and build measures using SUMX and time intelligence.
AnswerD

Importing both tables gives in-memory performance, and a dedicated date table enables time intelligence for year-over-year comparisons. SUMX iterates at row level to compute Quantity * UnitPrice - Discount correctly, satisfying the sales, shipping and YoY requirements.

Why this answer

Importing both tables into Power BI and creating a star schema with a central fact table (Orders) and dimension tables (CustomerRegion, Date) enables efficient measure calculation. The measures can use SUMX to compute sales amount (SUMX(Orders, Orders[Quantity] * Orders[UnitPrice] - Orders[Discount])) and average shipping cost per order filtered by region via relationships. A separate date table is required for time intelligence functions like SAMEPERIODLASTYEAR for year-over-year comparison.

Option A is suboptimal because adding calculated columns in Power Query increases storage and processing time; measures are preferable. Option B creates a flat denormalized table which duplicates customer region data, leading to larger model and slower performance. Option C is incorrect because DirectQuery is not supported on CSV files; Power BI requires data import or a connection to a database.

Therefore, Option D is the best approach.

351
MCQeasy

You need to create a visual that shows the contribution of each product category to total sales over time. Which visual type is most appropriate?

A.Waterfall chart
B.Stacked area chart
C.Pie chart
D.Scatter plot
AnswerB

A stacked area chart stacks each category's series values cumulatively so the height of each colored band reflects that category's contribution to the running total at any given time point, with the top boundary representing the overall total. This supports multiple categories and a continuous time axis, making it easy to see both individual category trends and how each category's share of the whole changes over time. For monthly expense contributions, this is the correct visual choice.

Why this answer

The stacked area chart (option B) is correct because it plots each product category as a cumulative band whose thickness represents that category's contribution to total sales, while the total height of the stack shows overall sales across the time axis. This makes it ideal for showing both part-to-whole composition and trends over time simultaneously. A waterfall chart (A) is designed for showing incremental positive and negative changes leading to a final total, not continuous category contributions over time.

A pie chart (C) shows proportions at a single point in time and cannot represent a time series. A scatter plot (D) displays the relationship between two numeric variables as individual points, not compositional contributions over time.

352
MCQeasy

You are connecting Power BI to a SQL Server database. The database contains a table with millions of sales transactions. You need to design a data model that minimizes load time and memory usage while still allowing analysis of sales by date, product, and customer. Which modeling approach should you use?

A.Use a composite model with some tables in DirectQuery and others in Import.
B.Use DirectQuery mode to avoid storing data in Power BI.
C.Import the data into Power BI, creating a star schema with date, product, and customer dimension tables and the sales fact table.
D.Use a live connection to an existing SQL Server Analysis Services tabular model.
AnswerC

Import mode is the right choice here because you get Power BI's in-memory columnstore engine, which compresses the data and makes slicers and filters nearly instantaneous. Building a proper star schema with separate date, product, and customer dimensions plus a sales fact table gives you clean one-to-many relationships and lets you write efficient DAX measures. This design minimizes memory usage while maximizing query performance.

Why this answer

Importing the data into Power BI and modeling it as a star schema minimizes query load time (the time to run interactive analyses) and memory usage through columnar compression and optimized query performance. Import mode stores data in the VertiPaq engine, which compresses data efficiently, especially with a star schema, reducing memory footprint relative to flattened tables and enabling fast in-memory analysis. While DirectQuery does not store data in Power BI (thus lower memory usage and no data refresh load time), it results in slower query performance and higher load on the source database, which is not ideal for analyzing millions of rows interactively.

Exam trap

The trap is that candidates often choose DirectQuery (Option B) thinking it saves memory and load time because it doesn't import data. However, this overlooks that Import mode with a star schema provides better query performance and memory efficiency through compression for large datasets, while DirectQuery increases query latency and source system load.

How to eliminate wrong answers

Option A is wrong because a composite model with some tables in DirectQuery and others in Import introduces complexity and potential performance overhead from cross-source query federation, which does not inherently minimize load time or memory usage compared to a fully imported star schema. Option B is wrong because DirectQuery mode avoids storing data in Power BI, but it does not minimize load time or memory usage; instead, it shifts query execution to the source database, which can lead to slower performance for interactive analysis and does not leverage Power BI's in-memory compression. Option D is wrong because a live connection to an existing SSAS tabular model does not minimize load time or memory usage in Power BI itself—it delegates processing to SSAS, which may not be optimized for the specific star schema design needed, and adds dependency on an external service without reducing Power BI's resource consumption.

353
MCQhard

You are using the above KQL query as a source in Power Query for a Power BI semantic model. The query runs successfully but takes a long time to execute. You need to improve performance. What should you do?

A.Use the 'Run KQL command' option in Power Query to pass the query directly.
B.Add additional transformations in Power Query to reduce rows.
C.Enable query folding to push the query to the Kusto source.
D.Disable query folding to improve performance.
AnswerA

Using the 'Run KQL command' option in Power Query sends the Kusto query directly to the Kusto engine, which executes all filtering and aggregation server-side and returns only the final result set. This avoids pulling entire tables into the Power Query mashup engine, minimizes data transfer across the network, and lets Kusto use its native optimizations such as indexing, partitioning, and distributed execution. It is the recommended approach because compute happens at the source, not in Power Query.

Why this answer

Using the 'Run KQL command' option in Power Query sends the entire KQL query directly to Azure Data Explorer (or Kusto) for execution, allowing the Kusto engine to process and filter data at the source. This minimizes data transfer and leverages Kusto's optimized query engine, significantly improving performance compared to pulling all data into Power Query for transformation.

Exam trap

The trap here is that candidates often confuse 'query folding' (which applies to SQL-based sources like SQL Server) with the native KQL command execution in Power Query, incorrectly assuming that toggling a folding setting will push the query to Kusto when the correct approach is to use the dedicated 'Run KQL command' option.

How to eliminate wrong answers

Option B is wrong because adding additional transformations in Power Query after data is loaded does not reduce the initial data transfer; it only processes data locally, which can actually worsen performance by increasing memory and processing overhead. Option C is wrong because query folding is already implicitly enabled when using a native KQL query in Power Query; explicitly enabling it does not change behavior, and the performance gain comes from pushing the query to the source, not from a folding toggle. Option D is wrong because disabling query folding would force Power Query to pull all raw data from Kusto before applying any transformations, defeating the purpose of source-side filtering and drastically increasing load times.

354
Multi-Selecthard

Which THREE factors should you consider when designing a star schema in Power BI?

Select 3 answers
A.A separate date table should be created for time intelligence.
B.Use natural keys instead of surrogate keys in dimension tables.
C.Fact tables should contain only foreign keys and numeric measures.
D.Use a snowflake schema to reduce data redundancy.
E.Dimension tables should be denormalized.
AnswersA, C, E

A dedicated date table enables time-based calculations.

Why this answer

A separate date table is required for time intelligence functions in Power BI because DAX time intelligence functions (e.g., TOTALYTD, SAMEPERIODLASTYEAR) rely on a continuous, contiguous date range with no gaps. Power BI automatically marks a table as a date table only if it contains a complete set of dates from the earliest to the latest transaction, enabling functions like DATEADD and DATESBETWEEN to work correctly across all granularities.

Exam trap

The trap here is that candidates confuse the theoretical normalization benefits of a snowflake schema (reducing redundancy) with the practical performance requirements of Power BI, where denormalization and surrogate keys are essential for optimal query execution and time intelligence calculations.

355
MCQmedium

You are importing data from a large CSV file (5 GB) into Power BI. The import takes too long and you need to reduce the data volume. What is the most effective approach in Power Query?

A.Disable loading of unrelated queries.
B.Increase query parallelism in options.
C.Filter rows and remove unnecessary columns in Power Query.
D.Enable 'Query Reduction' settings.
AnswerC

In the Power Query Editor, filtering rows (e.g., removing irrelevant records) and removing unnecessary columns before the final load directly shrinks the amount of data written into the Power BI data model. This is the correct approach because it reduces both row count and column cardinality, thereby lowering memory usage, improving refresh speed, and making the model more efficient for DAX calculations. Practically, you should also consider setting data types and reducing cardinality of columns during the same step.

Why this answer

Filtering rows and removing unnecessary columns in Power Query directly reduces the amount of data loaded into Power BI's data model. This is the most effective way to reduce data volume from a large CSV file, as it minimizes the data that Power Query must process and store, directly addressing the import time issue.

Exam trap

The trap here is that candidates often confuse 'Query Reduction' settings (which affect report interaction queries) with data volume reduction during import, leading them to incorrectly select Option D.

How to eliminate wrong answers

Option A is wrong because disabling loading of unrelated queries does not reduce the data volume of the specific CSV file being imported; it only prevents other queries from being loaded into the model, which does not address the size of the target CSV. Option B is wrong because increasing query parallelism in Power Query options can improve processing speed by running multiple queries concurrently, but it does not reduce the data volume of the large CSV file; it may even increase resource contention without addressing the root cause of excessive data. Option D is wrong because 'Query Reduction' settings in Power BI are designed to optimize report performance by reducing the number of queries sent to the data source during report interaction (e.g., disabling cross-highlighting), not to reduce the volume of data imported during the initial data load from a CSV file.

356
MCQeasy

You have a Power BI report that uses a measure with a filter context. You want to override the filter context for a specific calculation. Which function should you use?

A.ALL
B.FILTER
C.CALCULATE
D.VALUES
AnswerC

CALCULATE is the only DAX function that directly modifies the filter context for an expression, allowing you to add, remove, or override existing filters when computing a measure. It evaluates its first argument (typically a measure or aggregation) in a new filter context constructed from its subsequent filter arguments, which can include expressions, tables, or filter modifiers like ALL. This makes CALCULATE the correct choice when the goal is to apply a specific filter to a measure regardless of the surrounding report filters.

Why this answer

CALCULATE (option C) is correct because it is the only DAX function that modifies the filter context of a measure, allowing you to override or replace existing filters for a specific calculation by supplying new filter arguments. ALL (option A) is a table function that removes filters from a column or table but does not itself change the evaluation context of a calculation. FILTER (option B) returns a filtered table and is typically used as an argument inside CALCULATE, not as the context-modifying function itself.

VALUES (option D) returns a one-column table of distinct values and does not alter filter context.

357
Multi-Selecteasy

You are designing a Power BI report page. Which two actions can you take to improve the accessibility of the report?

Select 2 answers
A.Use a dark background with light text
B.Avoid using images in visuals
C.Add data labels to visuals
D.Use a high-contrast theme
E.Remove all tooltips to reduce clutter
AnswersC, D

Data labels display the exact value on each data point, so users with cognitive or visual impairments do not have to estimate from gridlines, axis scales, or color legends. They ensure the data is readable regardless of how a user perceives color, and in Power BI, labels can be formatted for size, color, and font style to meet contrast needs. The Accessibility Checker verifies that labels are present and not clipped.

Why this answer

Option C is correct because adding data labels to visuals makes the underlying values directly readable on the canvas, so users who rely on screen readers or who cannot hover over data points can still access the exact numbers without needing tooltips or mouse interaction. Option D is correct because using a high-contrast theme improves readability for users with low vision or color-vision deficiencies by ensuring foreground text and visual elements stand out clearly against the background, meeting accessibility contrast guidelines. Option A is not correct because a dark background with light text is not inherently more accessible and can actually reduce readability for some users if contrast is insufficient or if it causes glare.

Option B is not correct because images are not inherently inaccessible; they can be made accessible with alt text and are often useful in visuals, so avoiding them entirely is not a valid accessibility improvement. Option E is not correct because removing all tooltips reduces the information available to users rather than improving accessibility; tooltips should be retained and made keyboard-accessible instead.

358
Multi-Selectmedium

Which THREE of the following are valid reasons to create a calculated table in Power BI?

Select 3 answers
A.To add a column that computes a value based on other columns in the same table.
B.To combine two tables by merging columns from one table into another.
C.To create a date table that is not available in the data source.
D.To create a disconnected table for use in what-if analysis (e.g., parameter slicers).
E.To create a summary table that pre-aggregates data for better performance.
AnswersC, D, E

Calculated tables are created using DAX expressions, letting you generate data absent from any source system. A date table built this way provides the continuous calendar required for time intelligence, which source data often lacks, satisfying the need for a complete date dimension.

Why this answer

Option C is correct because calculated tables are commonly used to generate a date table with DAX functions like CALENDAR or CALENDARAUTO when no date dimension exists in the source, enabling time intelligence. Option D is correct because calculated tables can create disconnected tables (e.g., via GENERATESERIES or DATATABLE) that serve as slicers or inputs for what-if parameters, which have no relationship to the model. Option E is correct because calculated tables can materialize pre-aggregated summaries using SUMMARIZE or GROUPBY, reducing query-time computation and improving report performance.

Option A is not a valid reason because adding a computed column to an existing table is done with a calculated column, not a calculated table. Option B is not a valid reason because merging columns from one table into another is accomplished in Power Query (Merge Queries) or via relationships, not by creating a calculated table.

Exam trap

The trap here is that candidates often confuse calculated tables with calculated columns or Power Query merges, thinking any table-like operation qualifies, but Power BI strictly distinguishes between row-level calculations (calculated columns) and table-level transformations (calculated tables).

359
MCQmedium

You are importing a large CSV file (200 MB) into Power BI Desktop. The import is very slow and sometimes fails. What should you do to improve performance?

A.Use Power BI Service to import the file instead.
B.Remove all relationships before import.
C.Filter rows and columns during import using Power Query to reduce data size.
D.Upgrade to Power BI Premium.
AnswerC

Power Query serves as the extraction and transformation engine that feeds the Power BI data model. By applying row filters and removing unneeded columns in Power Query, you prevent the full 200MB CSV from ever being stored in the in-memory columnar engine. This reduces the data volume that must be processed, loaded, and compressed, directly accelerating the import step and reducing the final model size and memory footprint.

Why this answer

Filtering rows and columns via Power Query is the correct approach to reduce the data loaded into the Power BI Desktop model. However, query folding does not apply to CSV files — it is a technique for database sources. For CSV, Power Query reads the entire file but still reduces memory and processing overhead by discarding unnecessary columns and rows before loading into the model.

This is a standard best practice for large flat files.

Exam trap

The trap here is that candidates often assume upgrading to Premium or using the Service will magically fix performance issues, but the PL-300 exam emphasizes that data reduction during import (via Power Query filtering) is the primary technique to optimize large file ingestion in Power BI Desktop.

How to eliminate wrong answers

Option A is wrong because Power BI Service does not import CSV files directly; it relies on Power BI Desktop or dataflows to prepare and publish data, and the import speed bottleneck is typically local memory and processing, not the destination service. Option B is wrong because removing all relationships before import does not reduce the data size or improve import performance; relationships are metadata that affect query performance after loading, not the initial data ingestion from a CSV file. Option D is wrong because upgrading to Power BI Premium increases capacity limits (e.g., dataset size up to 400 GB) but does not inherently speed up the import of a 200 MB CSV file in Power BI Desktop; the import process is constrained by local resources and data volume, not licensing tier.

360
MCQmedium

You are building a Power BI data model that combines Sales data from SQL Server and Marketing data from a CSV file. The Sales table has a unique 'OrderID' column, and the Marketing table has a 'CampaignID' column. You need to create a relationship between Sales and Marketing to analyze campaign effectiveness. What should you do?

A.Use an inactive relationship between Sales and Marketing and activate it with USERELATIONSHIP in measures.
B.Create a bridge table containing unique combinations of OrderID and CampaignID.
C.Create a separate table for each campaign and relate to Sales.
D.Merge the Marketing table into the Sales table using a left outer join.
AnswerB

A bridge table is a factless fact table that stores unique combinations of OrderID and CampaignID, representing marketing touchpoints for each order. Filtering the bridge from Marketing propagates OrderIDs to Sales, while filtering from Sales propagates CampaignIDs to Marketing, preserving one-to-many relationships in both directions. This eliminates fanout and ensures sales measures are not inflated when analyzing campaigns.

Why this answer

A bridge table resolves the many-to-many relationship between Sales (OrderID) and Marketing (CampaignID). Since there is no direct key match, creating a bridge table with unique combinations of OrderID and CampaignID allows Power BI to model the relationship correctly and analyze campaign effectiveness without data duplication or ambiguity.

Exam trap

The trap here is that candidates often assume an inactive relationship or a merge can handle mismatched keys, but Power BI requires a common key column for relationships, and merging destroys the normalized model needed for accurate many-to-many analysis.

How to eliminate wrong answers

Option A is wrong because an inactive relationship requires a common key to exist between the tables; here, OrderID and CampaignID have no direct match, so an inactive relationship cannot be created. Option C is wrong because creating a separate table for each campaign would fragment the data, making it impossible to relate to Sales without a common key and violating star schema best practices. Option D is wrong because merging the Marketing table into Sales using a left outer join would create a single flat table, duplicating Sales rows for multiple campaigns and losing the ability to model the many-to-many relationship properly in Power BI.

361
Multi-Selectmedium

Which THREE of the following are benefits of using a star schema in Power BI? (Select three.)

Select 3 answers
A.Simplified DAX formulas
B.Supports many-to-many relationships natively
C.Improved query performance
D.Increased data redundancy
E.Easier for business users to understand
AnswersA, C, E

A star schema's single-hop relationship between each dimension and the fact table means measures written in DAX do not need to traverse multiple relationship levels or perform context transitions across a snowflake chain. Because each filter propagation follows one predictable path, CALCULATE and FILTER functions operate against a well-defined filter context, resulting in shorter, more maintainable measures that are easier to debug and audit. This simplicity directly reduces the amount of DAX needed to create accurate totals and percentage calculations.

Why this answer

Option A (Simplified DAX formulas) is correct because a star schema separates quantitative facts from descriptive dimensions, so measures typically aggregate a single fact table and filter through one-to-many relationships, avoiding complex bidirectional or multi-table filter logic in CALCULATE and RELATED calls. Option C (Improved query performance) is correct because the Power BI engine (VertiPaq) compresses and scans narrow dimension tables and a single fact table efficiently, and one-to-many relationships let the engine use simpler, faster join paths than snowflaked or normalized models. Option E (Easier for business users to understand) is correct because dimensions map to familiar business entities (Customer, Product, Date) and facts to measurable events, making the model intuitive for self-service report authors.

Option B is not correct because star schemas rely on one-to-many relationships; many-to-many relationships are not native to the star design and require bridge tables or special handling. Option D is not correct because increased data redundancy is a drawback of denormalization, not a benefit—star schemas actually reduce redundancy compared with fully normalized models while accepting controlled duplication in dimensions.

Exam trap

The trap here is that candidates confuse star schemas with snowflake schemas or assume that many-to-many relationships are a native benefit, when in fact star schemas rely on one-to-many relationships for optimal performance and simplicity.

362
Multi-Selecteasy

Which TWO Power BI visuals can be used to display hierarchical data? (Select two.)

Select 2 answers
A.Scatter plot
B.Card
C.Decomposition tree
D.Matrix
E.Pie chart
AnswersC, D

The decomposition tree visual is specifically engineered for root-to-leaf breakdown of a measure across dimensions, displaying nodes that users can expand or collapse along any selected dimension. It automatically aggregates child values into the parent node, making it one of the best options for ad hoc hierarchical drill-down analysis. This is why it is a correct answer for displaying hierarchy.

Why this answer

The Decomposition tree (C) is correct because it is specifically designed to explore hierarchical data by letting users drill down through dimensions in any order, expanding nodes to reveal contributing sub-levels. The Matrix (D) is correct because it natively supports hierarchical row and column groupings, enabling expand/collapse drill-down through levels such as Year > Quarter > Month. The Scatter plot (A) is incorrect because it plots numeric values on X and Y axes to show correlations, with no hierarchical structure.

The Card (B) is incorrect because it only displays a single aggregate value with no drill-down capability. The Pie chart (E) is incorrect because it shows proportional parts of a whole in a flat, single-level format without hierarchy.

Exam trap

The trap here is that candidates often confuse the Matrix with a simple table or think the Decomposition tree is only for AI insights, missing that both are valid for hierarchical data display.

363
MCQeasy

A company has a Power BI semantic model that uses Import mode. The model contains a table with 10 million rows. The data source is a SQL Server view that takes 5 minutes to execute. The scheduled refresh is set to every hour. What is the likely impact on refresh performance?

A.Refresh will fail due to timeout on the gateway.
B.The model will automatically use incremental refresh to split the load.
C.Refresh will complete in parallel with the view execution.
D.Refresh will take at least 5 minutes plus data loading time.
AnswerD

The view execution is a fixed prerequisite for the refresh: the Power BI engine must run the source query and wait for the full 5-minute execution to complete before it receives any data to load. Only after the view returns can the data loading phase, including any transformations, indexing, and storage into the in-memory columnstore, take place. Therefore, the absolute minimum refresh duration is 5 minutes, with the actual time being that 5 minutes plus the entire downstream loading and processing time.

Why this answer

The refresh process must first execute the SQL Server view to retrieve data, which takes at least 5 minutes, and then load that data into the Import mode model. The total refresh time is the sum of the query execution time and the data loading time, so it will be at least 5 minutes plus additional time for loading 10 million rows.

Exam trap

The trap here is that candidates may assume the gateway has a default 5-minute timeout, leading them to choose Option A, but the actual default timeout is 10 minutes, and the question does not specify any custom timeout settings.

How to eliminate wrong answers

Option A is wrong because the default gateway timeout for SQL Server is 10 minutes, which is longer than the 5-minute view execution time, so a timeout is unlikely unless other factors like network latency or resource contention exist. Option B is wrong because incremental refresh is not automatic; it must be manually configured by the model designer using Power Query date-range parameters and policy settings, and it does not automatically split the load for a view that takes 5 minutes. Option C is wrong because refresh is a sequential process: the view must finish executing before any data loading can begin; there is no parallel execution between the view query and the data load in Import mode.

364
MCQeasy

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

A.Use DirectQuery for both sources and create relationships in the model.
B.Use Power Query in Power BI Desktop to import both sources and merge/append queries as needed.
C.Use Power BI dataflows to ingest both sources and then reference them in a dataset.
D.Create a composite model using DirectQuery for SQL Server and Import for Salesforce.
AnswerB

Power Query in Power BI Desktop allows importing data from both on-premises SQL Server and cloud-based Salesforce, enabling merging/append operations to shape data into a star schema. This in-memory model supports all relationships and calculations needed.

Why this answer

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

Exam trap

The trap here is that candidates may think a composite model (Option D) is the best approach for combining on-premises and cloud sources, but the question specifically asks for creating a star schema, which is most easily achieved by importing all data into a single in-memory model using Power Query, avoiding the limitations and complexity of mixed storage modes.

How to eliminate wrong answers

Option A is wrong because using DirectQuery for both sources would prevent the developer from merging or appending data at query time; DirectQuery sends queries directly to the source and does not support combining data from multiple sources in a single query unless a composite model is used, and it limits star schema design due to performance constraints. Option C is wrong because Power BI dataflows are used for data preparation and storage in the Power BI service, but they are not the primary tool for combining data within a single Power BI Desktop model; referencing dataflows in a dataset still requires import or DirectQuery, and the question asks for the approach to combine data in the model, not just ingest it. Option D is wrong because creating a composite model with DirectQuery for SQL Server and Import for Salesforce would allow combining data, but it introduces complexity with mixed storage modes, potential performance issues, and limitations on relationships (e.g., many-to-many relationships require specific configurations), and it is not the simplest or most straightforward approach for building a star schema; importing both sources is preferred for full control over data shaping.

365
Multi-Selecteasy

Which TWO of the following are valid options when connecting to an on-premises SQL Server database from Power BI service? (Select TWO.)

Select 2 answers
A.DirectQuery mode with an on-premises data gateway
B.Using a SharePoint Online list connector pointing to SQL Server
C.DirectQuery using cloud credentials without a gateway
D.Import mode with an on-premises data gateway
E.Scheduling refresh in Power BI Desktop
AnswersA, D

DirectQuery mode is a live connection mode in which the Power BI service sends DAX queries to the source on every interaction instead of importing a copy of the data. For an on-premises SQL Server source, the service cannot route those queries directly across the corporate firewall; an on-premises data gateway must be installed within the network to authenticate to the SQL Server and forward the query results back to the cloud. Thus, a gateway is an absolute prerequisite for using DirectQuery in the Power BI service against on-premises relational databases.

Why this answer

Option A (DirectQuery mode with an on-premises data gateway) is correct because the Power BI service cannot reach an on-premises SQL Server directly, so it must route live DirectQuery requests through an on-premises data gateway installed in the local network. Option D (Import mode with an on-premises data gateway) is correct because scheduled imports of on-premises SQL Server data into the Power BI service likewise require the on-premises data gateway to bridge the cloud service to the local database. Option B is wrong because a SharePoint Online list connector targets SharePoint lists, not SQL Server tables, and cannot serve as a SQL Server connection path.

Option C is wrong because cloud credentials alone cannot traverse the corporate network boundary to reach an on-premises SQL Server without a gateway. Option E is wrong because scheduling refresh is a configuration action performed in the Power BI service (not a connection option), and Power BI Desktop itself does not run scheduled refreshes.

Exam trap

The trap here is that candidates often confuse 'connection mode' (DirectQuery vs. Import) with 'authentication method' (cloud credentials vs. gateway), mistakenly thinking DirectQuery can bypass the gateway for on-premises sources.

366
MCQmedium

Refer to the exhibit. You have a Power BI measure defined as shown. Users report that when they filter by region, the measure always shows sales for the North region regardless of the filter. What is the most likely cause?

A.The filter argument in CALCULATE overrides the existing filter context on Region.
B.The SUM function ignores filters applied to the Sales table.
C.The measure syntax is invalid and defaults to no filter.
D.The filter is applied to the entire Sales table, not just the Region column.
AnswerA

CALCULATE's filter arguments are evaluated as filter predicates that modify the existing filter context for the entire evaluation of the expression. When a filter argument references a column (here, Region), CALCULATE removes any existing outer filters on that same column and replaces them with the condition specified, so the measure's SUM is computed only over the Region values that the current filter argument dictates. This overriding behavior is intentional and is the key reason the measure returns the expected result rather than layering filters.

Why this answer

The CALCULATE function includes a filter argument that overrides any existing filter context on the Region column. Option B is wrong because SUM does not ignore filters. Option C is wrong because the measure syntax is valid.

Option D is wrong because the filter is on Region, not on the entire table.

367
Multi-Selecteasy

You are preparing data from multiple Excel files. Each file has a different structure; some have merged cells, empty rows, and inconsistent column names. Which TWO actions should you take to clean the data in Power Query? (Choose two.)

Select 2 answers
A.Remove blank rows that result from merged cells.
B.Group rows by a key column to summarize data.
C.Merge columns to create a single identifier.
D.Unpivot columns to normalize the data.
E.Promote the first row to headers.
AnswersA, E

In Excel, a merged cell spanning multiple rows leaves the non-top rows as blank cells that Power Query interprets as null records. These artificial blanks inflate row counts and break downstream transformations, so the Remove Blank Rows transformation must be applied to drop any row where all columns are null. This restores a clean, rectangular table where each record corresponds to an actual observation.

Why this answer

Option A is correct because merged cells in Excel often produce null or blank rows when imported into Power Query, and removing these blank rows (Home > Remove Rows > Remove Blank Rows) eliminates the structural noise so downstream transformations operate on valid records. Option E is correct because inconsistent column names across files typically mean the real headers are sitting in the first data row after import; using Home > Use First Row as Headers (Promote Headers) renames the columns correctly so each file's schema aligns before appending. Option B is not appropriate because grouping and summarizing is an aggregation step, not a cleaning step, and would collapse the detail rows needed for consolidation.

Option C is not appropriate because merging columns creates a concatenated identifier, which does not address inconsistent names, blanks, or merged-cell artifacts. Option D is not appropriate because unpivoting is used to normalize wide/crosstab layouts into attribute-value pairs, which is unrelated to fixing headers or removing blank rows in this scenario.

Exam trap

The trap here is that candidates often confuse data-cleaning actions (like removing blank rows and promoting headers) with data-transformation actions (like grouping, merging, or unpivoting), leading them to select options that reshape data rather than fix structural inconsistencies.

368
MCQeasy

You are working on a Power BI report for a marketing team. The report includes a page with a line chart showing website visits over time, and a table showing the top 5 marketing campaigns by conversion rate. The marketing manager wants to be able to click on a point in the line chart (representing a specific date) and have the table update to show only campaigns that were active on that date. The campaigns data includes a 'StartDate' and 'EndDate'. You have implemented a measure to filter campaigns based on the selected date. However, when you click on a date point in the line chart, the table does not update. What should you do to enable this interaction?

A.In the 'Edit interactions' settings, disable cross-filtering between the line chart and table.
B.Create a drillthrough page and configure the line chart to drill through to the table page.
C.Add a bookmark for each date and set the line chart to trigger the bookmark on click.
D.In the 'Edit interactions' settings, ensure that the line chart cross-filters the table.
AnswerD

In Edit interactions, select the line chart so its interaction icons appear on each target visual, then click the filter (funnel) icon shown over the table to explicitly set the line chart to cross-filter the table. With this enabled, clicking any date point on the line chart sends that date as a filter to the table, showing only campaign rows that are active on that date. This is the direct and correct way to make a selected date in one visual constrain another visual on the same report page.

Why this answer

The correct option is D: in the 'Edit interactions' settings, ensure that the line chart cross-filters the table. By default, a visual can filter other visuals on the same page, but if the interaction has been set to None (or Highlight instead of Filter), clicking a date point will not filter the table; setting the line chart to cross-filter the table restores the expected behavior so the measure evaluating StartDate/EndDate against the selected date returns only active campaigns. Option A is wrong because disabling cross-filtering would prevent the table from updating at all.

Option B is wrong because drillthrough navigates to a separate drillthrough page rather than filtering the existing table on the same page. Option C is wrong because bookmarks capture static visual states and are not the mechanism for dynamic cross-filtering based on a selected data point.

369
MCQhard

You are a Power BI developer for a financial services company. You are preparing data from multiple sources: a CSV file containing daily stock prices (ticker, date, close_price), a SQL Server database with company information (ticker, company_name, sector), and an Excel file with quarterly earnings data (ticker, quarter, earnings_per_share). The CSV file has 5 years of daily data (approx 1.3 million rows). The SQL Server table has 5000 rows. The Excel file has 20,000 rows. You need to create a data model that allows users to filter by sector, company, and date range, and to calculate moving averages of stock prices and compare earnings over time. Performance is critical. You must decide the best approach to combine and model this data. What should you do?

A.Use DirectQuery for StockPrices (CSV) and import the other tables.
B.Import only StockPrices and Company, and use the auto date/time feature; ignore Earnings data.
C.Import all tables, create a date table with CALENDAR, and establish relationships: StockPrices[Date] -> DateTable[Date], StockPrices[Ticker] -> Company[Ticker], Earnings[Ticker] -> Company[Ticker], and create a many-to-many relationship between Earnings and DateTable using a bridge table.
D.Import all tables, then in Power Query merge StockPrices with Company and Earnings into a single flat table using left outer joins.
AnswerC

Importing all tables into memory leverages Power BI's high-performance columnar compression and DAX evaluation, making queries fast even on large volumes. A dedicated date table created with CALENDAR (or CALENDARAUTO) and marked as the date table ensures accurate time intelligence and avoids the performance penalties of auto date/time. The stated relationships form a star schema: StockPrices joins to DateTable and Company, while Earnings joins to Company, creating clean filter paths. Since Earnings can have multiple records per date (across companies), a bridge table enables a many-to-many relationship between Earnings and DateTable, allowing both facts to be filtered correctly without data duplication or ambiguity.

Why this answer

Importing all tables into the in-memory VertiPaq engine ensures optimal performance for large datasets (1.3M rows) and complex calculations like moving averages. Creating a separate date table with CALENDAR enables proper time intelligence, while the bridge table resolves the many-to-many relationship between quarterly earnings and daily dates, allowing accurate filtering by sector, company, and date range without performance degradation.

Exam trap

The trap here is that candidates often choose Option D (flat table) thinking it simplifies the model, but they overlook the severe performance hit from data duplication and the inability to use star schema optimizations for time intelligence and filtering.

How to eliminate wrong answers

Option A is wrong because DirectQuery for a CSV file is not supported in Power BI; CSV files must be imported. Option B is wrong because ignoring Earnings data fails to meet the requirement of comparing earnings over time, and the auto date/time feature can degrade performance and is not recommended for large models. Option D is wrong because merging all tables into a single flat table creates a massive denormalized table (1.3M rows × multiple columns), leading to data duplication, increased storage, and slower calculations, especially for moving averages and time-based comparisons.

370
MCQhard

You are a Power BI data analyst for a financial services company. Your semantic model contains a fact table named Transactions with columns TransactionID, AccountID, TransactionDate, and Amount. You also have a dimension table named Accounts with AccountID, AccountType, and OpeningDate. You need to create a calculated column in the Transactions table that returns the account type for each transaction. Which DAX function should you use?

A.LOOKUPVALUE(Accounts[AccountType], Accounts[AccountID], Transactions[AccountID])
B.RELATED(Accounts[AccountType])
C.USERELATIONSHIP(Accounts[AccountID], Transactions[AccountID])
D.CALCULATE(MAX(Accounts[AccountType]), RELATEDTABLE(Accounts))
AnswerB

RELATED is used in a calculated column on the many side of a relationship to fetch a value from the related table on the one side. Since Transactions is related to Accounts via AccountID, RELATED(Accounts[AccountType]) returns the account type for each transaction. This function leverages the existing relationship and is efficient for row-level lookups.

Why this answer

RELATED is the correct function to retrieve a value from the one side of a relationship in a calculated column on the many side. It uses the existing relationship between Transactions and Accounts to return the account type for each transaction. LOOKUPVALUE is a fallback when no relationship exists, while CALCULATE and USERELATIONSHIP serve different purposes.

Exam trap

The trap here is choosing LOOKUPVALUE because it seems straightforward, but it ignores the existing relationship that RELATED can leverage more efficiently and with less code.

371
Multi-Selectmedium

Which THREE are best practices for managing relationships in Power BI? (Select exactly 3.)

Select 3 answers
A.Use many-to-many relationships whenever possible to simplify the model
B.Hide foreign key columns in dimension tables to prevent misuse
C.Use single-direction cross-filtering unless bidirectional is required
D.Always set cross-filter direction to both to allow full interactivity
E.Ensure that the data types of related columns match
AnswersB, C, E

Hiding foreign key columns in dimension tables stops report authors dragging surrogate keys into visuals, which would produce meaningless aggregations. This satisfies the stem's relationship-management constraint by keeping filtering flowing through the defined relationship rather than raw key values, reducing accidental many-to-many ambiguity and incorrect totals.

Why this answer

Option B is correct because hiding foreign key columns in dimension tables keeps the model clean and prevents report authors from accidentally using these technical keys in visuals instead of the proper dimension attributes. Option C is correct because single-direction cross-filtering is the default and preferred approach; bidirectional filtering should only be enabled when a specific requirement demands it, since it can introduce ambiguity, performance degradation, and unexpected results. Option E is correct because related columns must share the same data type for the relationship to be created and to filter correctly; mismatched types cause errors or force Power BI to create an inactive relationship.

Option A is incorrect because many-to-many relationships should be avoided when possible, as they complicate the model, can produce ambiguous results, and are harder to optimize. Option D is incorrect because setting all relationships to bidirectional cross-filtering is not a best practice; it can create ambiguous filter paths, circular dependencies, and performance issues.

Exam trap

PL-300 often tests the misconception that bidirectional and many-to-many relationships are always better for interactivity — candidates pick them for 'full interactivity' when best practice is to use them only when required.

372
MCQeasy

You are creating a Power BI report for a sales team. The report contains a clustered bar chart showing total sales by product category. The sales manager wants to see the exact sales amount for each category without hovering over the bars. You need to configure the visual to display the values directly on the chart. What should you do?

A.Add a tooltip page that shows the sales amount when hovering over a bar.
B.Change the visual type to a table showing product category and total sales.
C.Enable the Data labels option in the visual's formatting pane.
D.Add a card visual next to the chart that displays the total sales for the selected category.
AnswerC

Turning on data labels displays the numeric value for each bar directly on the chart, eliminating the need to hover. This is a standard formatting option for most visuals, including bar and column charts. It provides immediate visibility of the exact sales amount for each category.

Why this answer

Enabling data labels is the direct way to show exact values on a bar chart. It displays the sales amount for each category without any user interaction. This is a built-in formatting feature that requires no additional visuals or measures.

Exam trap

The trap here is overcomplicating the solution with tooltips or additional visuals when a simple formatting toggle achieves the goal.

373
MCQeasy

You are preparing data for a Power BI report. The source data contains a column with mixed data types: some values are numbers, others are text. When loading into Power Query, the entire column is typed as text. What is the likely cause?

A.The column was imported as text because the data source is a CSV file
B.Power Query detected that the column contains text values in some rows, so it set the data type to text
C.The 'Detect data type' option was disabled in Power Query settings
D.The source data is stored as text in the database
AnswerB

Power Query's automatic data type detection examines the values in each column and, when it encounters a mixture of numeric and textual entries, it deliberately selects the text data type. This ensures every value can be represented without conversion errors, because coercing text like 'N/A' into a number would fail. In this scenario, the presence of text values in some rows explains why the column was set to text.

Why this answer

Power Query's column type detection logic examines the entire column during import. If any row contains a non-numeric value (e.g., text), Power Query defaults the entire column to text to avoid data loss or conversion errors. This is the standard behavior when mixed data types are present, regardless of the source format.

Exam trap

The trap here is that candidates assume the data source format (e.g., CSV) is the cause, but Power Query's type detection logic—not the source—is what forces the column to text when mixed data types are present.

How to eliminate wrong answers

Option A is wrong because CSV files do not inherently force a column to text; Power Query still performs type detection on CSV data, and the mixed content triggers the text fallback. Option C is wrong because the 'Detect data type' option, when disabled, would leave all columns as 'Any' type, not specifically text. Option D is wrong because even if the source database stores the column as text, Power Query would still import it as text, but the question states the column has mixed data types, implying the source itself contains both numbers and text, which is the root cause.

374
MCQmedium

You are designing a Power BI model that includes a fact table with sales data and a dimension table for customers. Each customer can have multiple addresses, but you only need the primary address for analysis. The source system has a 'CustomerAddress' table with a 'IsPrimary' flag. What is the best approach to bring this into the model?

A.Use a DAX measure to filter the address table dynamically.
B.Import the entire CustomerAddress table and create an active relationship on the CustomerID column.
C.In Power Query, filter the CustomerAddress table to only include rows where IsPrimary = True, then merge with Customer.
D.Create a calculated table using SUMMARIZE to get the primary address per customer.
AnswerC

Filtering CustomerAddress to IsPrimary = True in Power Query before merging into Customer loads only one address per customer, eliminating fan-out and reducing model size. The merge creates a clean dimension table with the primary address attributes, allowing a single active relationship from the fact table to each customer's primary location. This ETL approach minimizes storage and prevents the need for complex DAX or inactive-relationship tricks.

Why this answer

It uses Power Query to filter the CustomerAddress table to only primary addresses before merging with the Customer dimension. This ensures that only the necessary rows are imported into the model, reducing data volume and avoiding complex DAX or relationship overhead. The result is a clean, single-row-per-customer dimension that directly supports analysis without runtime filtering.

Exam trap

The trap here is that candidates often choose Option B, thinking that importing the full table and using a relationship is simpler, but they overlook the need to enforce a single primary address per customer, which requires additional filtering logic that complicates the model and degrades performance.

How to eliminate wrong answers

Option A is wrong because a DAX measure cannot filter a table at the model level; it only applies dynamic filters at query time, which would not resolve the need for a single primary address per customer in the dimension table and would cause performance issues with repeated evaluation. Option B is wrong because importing the entire CustomerAddress table with an active relationship on CustomerID would create a one-to-many relationship from Customer to multiple addresses, requiring additional logic (e.g., a DAX filter or a calculated table) to isolate the primary address, which defeats the goal of a clean dimension. Option D is wrong because using SUMMARIZE to create a calculated table in DAX would work but is less efficient than Power Query filtering; it adds a calculated table to the model that is computed at refresh time and cannot leverage Power Query's native data transformation capabilities, and it may introduce subtle issues with blank rows or performance if the source table is large.

375
MCQmedium

You have a report that uses a custom visual from AppSource. The visual is not rendering correctly after a Power BI Desktop update. What is the best course of action?

A.Enable compatibility mode for the visual.
B.Replace the custom visual with a built-in visual.
C.Check for an updated version of the custom visual from the developer.
D.Remove the visual and add it again from the marketplace.
AnswerC

Custom visuals rely on the Power BI visual API, and when Power BI releases a new version, previously certified visuals can become incompatible. Developers routinely publish updated versions of their visuals to align with the latest API changes and fix bugs. Checking the AppSource source or the developer's website for an updated version is the recommended first step because it directly addresses the root cause of the incompatibility, often resolving the issue without altering the visual's functionality.

Why this answer

The correct option is C: check for an updated version of the custom visual from the developer. Custom visuals from AppSource are third-party components that can break when Power BI Desktop updates change the underlying rendering APIs, so the developer typically publishes a compatible update that resolves the rendering issue. Option A is not a real Power BI feature for custom visuals, and compatibility mode applies to semantic model/version settings, not to fixing a broken visual.

Option B would discard the intended custom functionality rather than fix it, and option D merely re-adds the same outdated version, so the problem would persist.

Page 4

Page 5 of 7

Page 6

All pages