Microsoft Power BI Data Analyst PL-300 (PL-300) — Questions 301375

966 questions total · 13pages · All types, answers revealed

Page 4

Page 5 of 13

Page 6
301
MCQhard

You have a Power BI model with tables: Sales (DateKey, Amount) and Date (DateKey, Year, Month, Day). The measure above is intended to show sales for the current year ignoring any filters on date. However, when placed in a matrix with Month on rows, it returns the same value for every month. What is the most likely reason?

A.The CALCULATE function is misused and should be replaced with SUMX
B.The FILTER function removes month context from the Date table
C.The Date table is not marked as a date table
D.The relationship between Sales and Date is inactive
AnswerB

ALL(Date) removes filters on all columns, including Month.

Why this answer

The FILTER function uses ALL(Date) which removes all filters from the Date table, including the month filter from the matrix row context. Therefore, the measure always returns the total sales for the entire current year regardless of the month. Option B is correct.

Option A is wrong because the expression is valid syntactically. Option C is wrong because there is no relationship ambiguity issue. Option D is wrong because the table name is used correctly.

302
MCQeasy

You have a Power BI report that includes a map visual showing store locations. You want to add a tooltip that displays the store name and total sales when users hover over a location. What do you need to do?

A.Add the store name and sales fields to the tooltips bucket of the map visual.
B.Create a bookmark that shows a table with store details.
C.Add a drill-through page with store details.
D.Set the page tooltip property to show store details.
AnswerA

Tooltips display field values on hover.

Why this answer

Option B is correct because tooltips are configured by adding fields to the tooltips well. Option A is wrong because drill-through is for navigating to another page. Option C is wrong because bookmarks switch states.

Option D is wrong because the tooltip is a visual property, not a page property.

303
Multi-Selectmedium

Which TWO of the following are true about using the 'Mark as Date Table' feature in Power BI?

Select 2 answers
A.It is required for any relationship involving a date column
B.The date column can contain duplicate dates
C.The date table must have a column with unique date values
D.It automatically creates all date hierarchy columns (Year, Quarter, Month, Day)
E.It enables time intelligence functions like TOTALYTD
AnswersC, E

The date column must be unique.

Why this answer

Option A and D are correct. Option A is correct because marking a date table enables time intelligence functions. Option D is correct because the date table must have a unique date column.

Option B is wrong because the date column must contain unique dates. Option C is wrong because marking a date table is not required for relationships, but it enables automatic time intelligence. Option E is wrong because marking a date table does not automatically add all date columns.

304
Matchingmedium

Match each Power BI license type to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Create personal reports, cannot share

Share and collaborate with others

Dedicated capacity for a user

Reserved compute resources

Embed analytics in applications

Why these pairings

Licenses determine capabilities and sharing options.

305
MCQhard

You are a Power BI analyst at a retail company. The company has a SQL Server data warehouse with tables: 'Sales' (SalesID, ProductID, CustomerID, SalesDate, Amount, Quantity), 'Products' (ProductID, ProductName, Category, UnitPrice), 'Customers' (CustomerID, CustomerName, Region, Segment). The data warehouse is refreshed nightly. You need to build a Power BI solution that meets the following requirements: - The report must be published to the Power BI service and support scheduled refresh. - Users must be able to analyze sales by product category and customer region. - The data model should follow a star schema design. - A measure must calculate the running total of sales by date. - The report must include a visual that shows the top 5 products by sales amount for the current year. - Performance is critical; the report should load quickly. You have imported the data into Power BI Desktop. Which of the following actions should you take to meet the requirements?

A.Create a date dimension table. Build a star schema with Sales as fact and Products, Customers, and Date as dimensions. Use TOTALYTD for running total and TOPN for top products.
B.Import all tables. Create a calculated column for running total using FILTER and EARLIER. Use a slicer to filter by current year and sort a bar chart by sales.
C.Use DirectQuery mode to connect to the data warehouse. Write a SQL query for each visual to ensure real-time data. Use a SQL window function for running total.
D.Create a single flat table by merging all tables in Power Query. Use a measure for running total with EARLIER function. Create a Top N filter on a table visual.
AnswerA

This follows star schema best practices and uses efficient DAX functions.

Why this answer

Option B is correct because creating a date dimension, using a star schema, and using DAX measures (including TOTALYTD for running total and TOPN for top products) is the best practice. Option A is wrong because using a single flat table would create a poor model and slow performance. Option C is wrong because DirectQuery would be slower for aggregated measures like running total.

Option D is wrong because using calculated columns for running total is less efficient than measures.

306
MCQmedium

You have a Power BI report with a matrix visual showing sales by year and quarter. Users want to drill down from year to quarter and expand back up. Which feature should you enable?

A.Set up drill-through pages for each quarter
B.Create bookmarks for each level
C.Enable drill-down mode and add a hierarchy of Year and Quarter
D.Add a tooltip page showing quarterly details
AnswerC

Drill-down mode allows users to expand and collapse hierarchy levels.

Why this answer

Option A is correct because the drill-down mode in a matrix visual allows hierarchical navigation. Option B is wrong because bookmarks do not provide interactive drill-down. Option C is wrong because the drill-through feature navigates to a different page.

Option D is wrong because tooltips do not enable drill-down.

307
Multi-Selecteasy

Which TWO DAX functions can be used to filter data in a measure?

Select 2 answers
A.VALUES
B.SUM
C.ALL
D.FILTER
E.CALCULATE
AnswersD, E

FILTER returns a table filtered by a condition.

Why this answer

Options A and B are correct. FILTER returns a table that can be used as a filter. CALCULATE modifies filter context.

Option C is wrong because SUM is an aggregation function. Option D is wrong because ALL removes filters. Option E is wrong because VALUES returns distinct values but does not filter by condition.

308
Multi-Selectmedium

Which TWO methods can a Power BI admin use to enforce the use of sensitivity labels on reports? (Choose two.)

Select 2 answers
A.Deploy a Microsoft Intune policy to block unlabeled reports.
B.Configure default labels in Power BI Desktop.
C.Apply labels automatically using Microsoft Purview Information Protection.
D.Require users to apply sensitivity labels when publishing reports.
E.Use row-level security to hide unlabeled reports.
AnswersC, D

Automatic labeling can be configured based on content.

Why this answer

Options A and D are correct because the admin can enable mandatory labeling in the admin portal and use Microsoft Purview Information Protection to apply labels. Option B is wrong because labels are not applied in Power BI Desktop. Option C is wrong because RLS does not enforce labels.

Option E is wrong because there is no such policy in Microsoft Intune.

309
MCQmedium

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

A.Stacked area chart
B.Clustered bar chart
C.Scatter plot
D.Pie chart
AnswerA

Stacked area chart shows how each category contributes to the total over time.

Why this answer

Option B is correct because a stacked area chart shows the contribution of each category to the total over time. Option A is wrong because a clustered bar chart compares individual values, not contributions. Option C is wrong because a pie chart shows proportions at a single point in time.

Option D is wrong because a scatter plot shows correlation, not contribution.

310
MCQhard

Refer to the exhibit. You have the model shown. The active relationship is between OrderDate and Date. You create the measure TotalShipments. What does this measure calculate?

A.Sum of Amount where ShipDate is not blank
B.Sum of all Amount regardless of date
C.Sum of Amount filtered by OrderDate
D.Sum of Amount filtered by ShipDate
AnswerD

USERELATIONSHIP activates the ShipDate relationship.

Why this answer

The measure TotalShipments uses the active relationship between OrderDate and Date, but the CALCULATE function or filter context in the measure applies a filter on ShipDate. Because the active relationship is based on OrderDate, any filter on ShipDate requires the measure to use the inactive relationship (via USERELATIONSHIP or by default crossing the active relationship). The correct answer is D because the measure sums Amount filtered by ShipDate, leveraging the inactive relationship to evaluate shipments based on their actual ship date.

Exam trap

The trap here is that candidates assume the active relationship (OrderDate) is always used, but the measure explicitly filters by ShipDate, which requires using the inactive relationship, and many mistakenly think the measure sums all Amount or filters by OrderDate instead.

How to eliminate wrong answers

Option A is wrong because it describes a filter on ShipDate being not blank, but the measure does not explicitly check for non-blank ShipDate; it filters by ShipDate values directly. Option B is wrong because the measure does not ignore date filters; it applies a filter on ShipDate, so it does not sum all Amount regardless of date. Option C is wrong because the active relationship is between OrderDate and Date, but the measure filters by ShipDate, not OrderDate; filtering by OrderDate would use the active relationship directly, which is not what the measure does.

311
MCQhard

You are managing a Power BI environment that uses Microsoft Purview for data governance. You need to ensure that all new datasets automatically inherit sensitivity labels from their source data. What should you configure?

A.Enable 'Sensitivity labels' in Power BI tenant settings and require labels on datasets.
B.In Microsoft Purview, set up 'Automatic labeling' policies that propagate labels from source to Power BI datasets.
C.Use Microsoft Purview Data Map to scan source data and manually apply labels.
D.Configure a Power Automate flow to apply labels based on dataset metadata.
AnswerB

Automatic labeling policies can propagate labels.

Why this answer

Option D is correct because you need to set Purview to automatically apply labels based on source data labels. Option A is wrong because it only applies manual labels. Option B is wrong because it doesn't automatically inherit.

Option C is wrong because it's for classification, not automatic inheritance.

312
MCQmedium

Your organization uses Power BI with Premium capacity. You need to configure a scheduled refresh for a dataset that connects to an Azure SQL Database. The refresh must complete before 6:00 AM every day. The dataset currently takes 45 minutes to refresh. What is the most important consideration?

A.Use an on-premises data gateway to connect to Azure SQL.
B.Schedule the refresh to start early enough to complete by 6:00 AM, considering any other scheduled refreshes.
C.Configure incremental refresh to reduce the refresh time.
D.Ensure the dataset does not exceed the maximum number of daily refreshes (8 for shared, 48 for Premium).
AnswerB

Must ensure no overlap and enough time.

Why this answer

Scheduled refresh times are limited by the number of daily refreshes and the capacity's concurrency limits. Option D is correct because the refresh time must be within the available window and not conflict with other refreshes. Option A is wrong because Premium allows up to 48 refreshes per day.

Option B is wrong because incremental refresh is optional, not required. Option C is wrong because gateway is not needed for Azure SQL.

313
MCQeasy

You want to allow users to filter a report by a specific date range (e.g., last 30 days) without requiring manual selection. Which approach should you take?

A.Use bookmarks to switch between fixed date ranges.
B.Add a relative date slicer to the report page.
C.Create a calculated column that flags rows within the last 30 days.
D.Apply a filter on the date field in the Filters pane.
AnswerB

Relative date slicer provides easy selection of common date ranges.

Why this answer

Option A is correct because a relative date slicer allows users to choose predefined periods like last 30 days. Option B is wrong because a filter pane applies to all pages but is not interactive. Option C is wrong because a calculated column would require maintenance.

Option D is wrong because bookmarks capture a specific view, not dynamic range.

314
MCQmedium

You have a Power BI report that uses Import mode. The dataset is refreshed daily. Users are complaining that the report shows data from yesterday morning even though the refresh completed successfully at 2:00 AM today. What should you check first?

A.Check row-level security (RLS) role assignments
B.Check the refresh history for errors
C.Verify the on-premises data gateway is running
D.Examine the incremental refresh policy's rangeStart and rangeEnd parameters
AnswerD

Incremental refresh may filter out recent data.

Why this answer

The dataset might be using incremental refresh with a filter that excludes recent data, or the source data hasn't updated. Option C is correct. Option A is wrong because refresh history shows success.

Option B is wrong because gateway is not the issue. Option D is wrong because role permissions don't affect data freshness.

315
MCQeasy

You have a table with columns 'Product', 'Category', and 'Sales'. You want to create a hierarchy that allows users to drill down from Category to Product. Which is the correct order to create the hierarchy?

A.Product -> Category -> Sales
B.Product -> Category
C.Category -> Product
D.Sales -> Product -> Category
AnswerC

Category is the higher level.

Why this answer

Option A is correct because hierarchies drill down from the highest level to the lowest. Option B is reverse. Option C is wrong because Sales is a measure, not a level.

Option D is wrong because Product should be below Category.

316
MCQmedium

You are reviewing the M query above. The query connects to an Azure SQL database and filters orders after June 1, 2024. The query runs successfully in Power Query Editor, but when you close and apply, the data load fails. What is the most likely cause?

A.The date filter syntax is invalid.
B.The query has a syntax error in the let expression.
C.The database server is not accessible or credentials are missing.
D.The column 'OrderDetails' does not exist.
AnswerC

Network or authentication issues can cause load failure.

Why this answer

The query runs successfully in Power Query Editor but fails during 'Close & Apply' because the editor uses a cached data preview, while the actual load requires a live connection to the Azure SQL database. The most likely cause is that the database server is inaccessible or the credentials are missing or expired at load time, which is a common connectivity issue in Power BI.

Exam trap

The trap here is that candidates assume a successful preview in Power Query Editor guarantees a successful data load, ignoring that the editor may use cached data or a different authentication context than the actual refresh.

How to eliminate wrong answers

Option A is wrong because the date filter syntax is validated during the query execution in Power Query Editor, and since it runs successfully there, the syntax is correct. Option B is wrong because a syntax error in the let expression would cause the query to fail immediately in the editor, not only during 'Close & Apply'. Option D is wrong because if the column 'OrderDetails' did not exist, the query would fail in the editor with a 'column not found' error, not during the load phase.

317
MCQhard

You are building a Power BI data model with multiple fact tables and dimension tables. One of the dimension tables has a one-to-many relationship with two fact tables, but the relationships are inactive. You need to create measures that use both fact tables and the dimension table without relying on user interactions to activate relationships. What should you do?

A.Merge the fact tables into one table.
B.Create calculated columns in the dimension table to relate to each fact table.
C.Use the USERELATIONSHIP function in the measure definition.
D.Change both relationships to active.
AnswerC

USERELATIONSHIP activates a specific inactive relationship for a calculation.

Why this answer

Option C is correct because the USERELATIONSHIP function in DAX allows you to temporarily activate an inactive relationship within a measure definition. This enables you to use a dimension table with multiple fact tables without changing the model's default active relationships or relying on user interactions. By specifying the inactive relationship in the measure, you can perform accurate aggregations across both fact tables while maintaining the intended data model structure.

Exam trap

The trap here is that candidates often think they must make all relationships active or merge tables to use a dimension with multiple fact tables, not realizing that USERELATIONSHIP provides a clean, dynamic solution without compromising model integrity.

How to eliminate wrong answers

Option A is wrong because merging fact tables would create a single, denormalized table that violates star schema best practices, leads to data redundancy, and makes it harder to maintain separate business processes. Option B is wrong because calculated columns in the dimension table would create static values that do not dynamically respect filter context from the fact tables, and they cannot replace the functionality of active relationships in DAX measures. Option D is wrong because changing both relationships to active would create ambiguity in filter propagation, as Power BI cannot have two active one-to-many relationships from the same dimension table to different fact tables without causing cross-filtering issues.

318
MCQeasy

You are modeling a data source that includes a table with columns: EmployeeID, ManagerID. You need to create a hierarchy that shows the reporting structure. Which Power BI feature should you use?

A.Create a self-referencing relationship
B.Add a calculated column using IF statements
C.Use DAX PATH and PATHITEM functions to create a calculated hierarchy table
D.Use the 'Group' feature in Power Query
AnswerC

This is the standard approach for parent-child hierarchies.

Why this answer

Parent-child hierarchy functions, such as PATH, can be used to flatten a hierarchy. Option C is correct. Option A is wrong because relationships are for separate tables.

Option B is wrong because calculated columns alone cannot create a hierarchy. Option D is wrong because grouping is for binning values.

319
MCQhard

You are designing a Power BI data model for a sales analytics solution. The source data includes a 'Sales' fact table with millions of rows and dimension tables for 'Customer', 'Product', 'Date', and 'Salesperson'. You need to minimize the model size in Power BI. Which action should you take?

A.Remove any columns from the fact table that are not used in the model.
B.Set the 'Storage mode' of fact table to 'DirectQuery'.
C.Enable 'Include relationship columns' in the relationship settings.
D.Create a calculated column for row number.
AnswerA

Removing unused columns directly reduces the data loaded into the model.

Why this answer

Removing unused columns from the fact table reduces the amount of data imported into the VertiPaq engine, which directly minimizes the model size. Each column consumes memory for compression and storage, so eliminating unnecessary columns is the most effective way to reduce the model footprint without changing query performance or data refresh behavior.

Exam trap

The trap here is that candidates often confuse minimizing model size with optimizing query performance, leading them to choose DirectQuery (Option B) even though the question explicitly asks for minimizing model size in an imported model context.

How to eliminate wrong answers

Option B is wrong because setting the fact table to DirectQuery avoids importing data into the in-memory model, but it does not minimize the model size—it shifts query execution to the source, which can degrade performance and is not a size-minimization technique for an imported model. Option C is wrong because enabling 'Include relationship columns' actually adds hidden columns to the fact table for relationship propagation, increasing model size rather than reducing it. Option D is wrong because creating a calculated column for row number adds a new column to the model, consuming additional memory and increasing the model size, which is the opposite of the goal.

320
MCQeasy

You are preparing data from a CSV file that contains date values in the format 'MM/dd/yyyy'. When you load the file into Power BI Desktop, the dates appear as text. What should you do to ensure the dates are recognized as date data type?

A.Use 'Replace Values' to replace '/' with '-'
B.Change the column data type to Date in Power Query Editor
C.Split the column by delimiter '/'
D.Promote the first row as headers
AnswerB

Changing data type to Date directly converts the text to date.

Why this answer

Option B is correct because changing the column data type to Date in Power Query Editor forces Power BI to interpret the text values as dates using the current locale settings. Since the CSV file contains dates in 'MM/dd/yyyy' format, Power Query can parse this pattern when the data type is explicitly set to Date, converting the text strings into the Date data type for proper time intelligence and filtering.

Exam trap

The trap here is that candidates often think replacing delimiters or splitting columns will magically change the data type, but Power BI requires an explicit data type change in Power Query Editor to convert text to dates.

How to eliminate wrong answers

Option A is wrong because replacing '/' with '-' merely changes the delimiter character; the values remain as text strings and are not converted to the Date data type. Option C is wrong because splitting the column by delimiter '/' would separate the month, day, and year into three separate text columns, losing the original date structure and requiring additional steps to reassemble. Option D is wrong because promoting the first row as headers only affects column naming, not the data type of the values; it does not address the text-to-date conversion issue.

321
MCQhard

Refer to the exhibit. You are configuring a Power BI dataset for a real-time dashboard that must show data with no more than 5 minutes of latency. What is the impact of the current query caching setting?

A.It will disable caching for real-time queries
B.It will improve performance but may show data up to 60 minutes old
C.It will cause the dataset to switch to DirectQuery mode
D.It will have no effect because caching is off
AnswerB

Caching improves performance at the cost of freshness.

Why this answer

Query caching stores results for up to 60 minutes, causing data to be up to an hour old. This violates the 5-minute latency requirement. The mode is On, not off, and caching applies to all queries.

DirectQuery mode does not eliminate caching.

322
MCQmedium

You need to design a Power BI report that displays sales trend over time. The data includes dates with missing values for weekends and holidays. Which visualization type and approach should you use to ensure accurate trend representation?

A.Line chart with a categorical date axis
B.Bar chart with a categorical date axis
C.Line chart with a continuous date axis
D.Bar chart with a continuous date axis
AnswerC

Line chart with continuous axis handles date gaps correctly.

Why this answer

Option A is correct because a line chart with a continuous date axis properly handles gaps in dates by not connecting across missing points. Option B is wrong because a bar chart with a categorical axis treats dates as discrete labels, potentially skewing the trend. Option C is wrong because a line chart with a categorical axis would still connect points across missing dates.

Option D is wrong because forcing a continuous axis on a bar chart may create misleading gaps.

323
Multi-Selectmedium

Which THREE considerations are important when designing a date table for time intelligence?

Select 3 answers
A.The date table must be marked as a date table in Power BI.
B.All date columns must be calculated columns.
C.The date table must have a relationship to the fact table's date column.
D.The date table must contain a contiguous range of dates.
E.The model must have exactly one date table.
AnswersA, C, D

This enables time intelligence functions.

Why this answer

Option A is correct because a continuous date range is required. Option B is correct because marking as a date table is required for time intelligence. Option D is correct because a date table should have a relationship to the fact table.

Option C is wrong because calculated columns are not a requirement. Option E is wrong because multiple date tables are not a requirement.

324
Matchingmedium

Match each DAX function category to an example function.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

SUM

CALCULATE

TOTALYTD

IF

SUMMARIZE

Why these pairings

DAX functions are grouped by their purpose.

325
MCQmedium

You have a data model with a Sales table and a Date table. You create a measure: Total Sales = SUM(Sales[Amount]). When you add a slicer for Date[Year], the measure does not filter correctly. What is the most likely cause?

A.The relationship is inactive
B.The Date table is not marked as a date table
C.The Sales table has no relationship to the Date table
D.The measure uses SUM instead of SUMX
AnswerA

An inactive relationship requires USERELATIONSHIP to be active.

Why this answer

Option D is correct because if the relationship is inactive, filters from the Date table won't propagate. Option A would cause a different error. Option B would give incorrect values.

Option C is not a typical issue.

326
MCQeasy

You need to prevent users from sharing Power BI reports with people outside your organization. What should you configure in the Power BI admin portal?

A.Disable the 'Share content with external users' setting.
B.Disable the 'Export to Excel' setting.
C.Disable the 'Publish to web' setting.
D.Disable the 'Allow users to create email subscriptions' setting.
AnswerA

This setting directly controls the ability to share with external users.

Why this answer

Option D is correct because the 'Share content with external users' tenant setting controls whether users can share reports and dashboards with external users. Disabling this setting prevents external sharing. Option A is wrong because 'Export to Excel' is a separate setting.

Option B is wrong because 'Publish to web' is for public embedding. Option C is wrong because 'Create email subscriptions' does not control external sharing.

327
MCQeasy

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

A.Manually update the data source in the production workspace after deployment.
B.Use a Power BI template (.pbit) and change the connection string before publishing.
C.Configure a deployment pipeline with parameter rules to override the data source.
D.Publish the report directly to the production workspace and update the dataset.
AnswerC

Pipeline rules can automatically set production parameters.

Why this answer

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

Exam trap

The trap here is that candidates often confuse manual post-deployment updates (options A and D) or template-based approaches (option B) with the automated, rule-based override mechanism provided by deployment pipelines, which is the only method that meets the 'no manual changes' requirement.

How to eliminate wrong answers

Option A is wrong because manually updating the data source after deployment contradicts the requirement of avoiding manual changes and introduces risk of errors. Option B is wrong because using a .pbit template still requires manual intervention to change the connection string before publishing, which does not automate the process. Option D is wrong because publishing directly to production and then updating the dataset requires manual steps and does not leverage automated deployment rules.

328
MCQeasy

You are creating a Power BI report for a small business. The data source is a Microsoft Access database with tables: Customers (CustomerID, CompanyName, City), Orders (OrderID, CustomerID, OrderDate, Amount). You need to model the data to analyze total orders by customer and by month. What is the most efficient approach?

A.Use DirectQuery on the Access database to avoid importing.
B.Create a single query in Power Query that joins the tables and import the result.
C.Migrate the Access database to SQL Server and then import.
D.Import both tables into Power BI and create a relationship between CustomerID columns.
AnswerD

This leverages Power BI's in-memory engine and star schema.

Why this answer

Option A is correct because importing both tables and creating a relationship allows for easy analysis. Option B is wrong because DirectQuery on Access is not recommended due to performance. Option C is wrong because a single table duplicates customer information.

Option D is wrong because an external database is unnecessary.

329
MCQeasy

A Power BI admin needs to audit which users have accessed a specific report in the last 30 days. Which log should the admin use?

A.Power BI activity log (audit log) in the Power BI admin portal.
B.Microsoft Defender XDR audit log.
C.Power BI usage metrics report.
D.Microsoft Purview audit log.
AnswerA

The activity log includes 'ViewReport' events with user and timestamp.

Why this answer

Option A is correct because the Power BI activity log captures user access events. Option B is wrong because the audit log in Microsoft 365 Defender may not have detailed Power BI access events. Option C is wrong because usage metrics reports show view counts but not per-user details.

Option D is wrong because the Microsoft Purview audit log is for compliance, not detailed access logs.

330
MCQeasy

You need to design a report that allows users to see sales data at the year, quarter, and month levels, with the ability to expand and collapse hierarchies. Which visual type should you use?

A.Table visual with hierarchy
B.Stacked bar chart with drill-down
C.Matrix visual
D.Card visual with hierarchy
AnswerC

Matrix supports hierarchical drill-down with expand/collapse.

Why this answer

Option A is correct because matrix visual supports expand/collapse hierarchies. Option B is wrong because a bar chart does not have hierarchy expansion built-in. Option C is wrong because a table is flat.

Option D is wrong because a card visual shows a single value.

331
MCQeasy

You create a Power BI report that includes a page with a matrix visual showing sales by region and product category. You want users to be able to drill down from region to salesperson level. What is the best way to enable this?

A.Set up drill-through from the region to a salesperson detail page.
B.Use bookmarks to switch between region and salesperson views.
C.Add the Salesperson field to the matrix rows hierarchy below Region.
D.Enable tooltips that show salesperson details on hover.
AnswerC

This creates a hierarchy that enables drill-down within the matrix.

Why this answer

Option B is correct because adding the Salesperson field below the Region field in the matrix rows creates a hierarchy that supports drill-down. Option A is wrong because drill-through navigates to a different page. Option C is wrong because bookmarks do not enable drill-down.

Option D is wrong because tooltips provide additional information but do not support drill-down.

332
MCQeasy

You have a Power BI report that uses a custom visual from AppSource. The visual is not rendering correctly. What should you check first?

A.The network connection is blocked from reaching AppSource.
B.The visual is not compatible with the report theme.
C.The dataset has row-level security applied.
D.The visual is not certified by Microsoft.
AnswerA

Custom visuals need to fetch resources from AppSource.

Why this answer

Option C is correct because custom visuals require an internet connection to load from the marketplace. Option A is wrong because the visual type is not the issue. Option B is wrong because the visual is certified by the developer.

Option D is wrong because security roles in the dataset do not affect visual rendering.

333
MCQhard

A Power BI report contains a page with many visuals that use a large DirectQuery dataset. The report is slow to load. Which design change would most improve the initial page load time?

A.Reduce the number of visuals on the page
B.Increase the default page-level filter to limit data
C.Use a slicer to let users choose what to see
D.Create aggregations on the dataset
AnswerA

Fewer visuals mean fewer queries, improving load time.

Why this answer

Reducing the number of visuals on the page directly decreases the number of queries sent to the DirectQuery source during initial page load. Each visual in a DirectQuery model typically generates at least one separate query against the source database, so fewer visuals means fewer concurrent queries and less data transferred, which significantly improves load time.

Exam trap

The trap here is that candidates often confuse performance improvements that reduce query volume (fewer visuals) with those that optimize query execution (aggregations, filters), but for initial page load time, reducing the number of queries is the most direct and effective change.

How to eliminate wrong answers

Option B is wrong because increasing the default page-level filter does not reduce the number of queries; it only limits the rows returned per query, but the overhead of executing many queries for each visual remains. Option C is wrong because using a slicer does not affect initial page load; slicers are interactive controls that apply filters after the page has already loaded, so they do not reduce the initial query volume. Option D is wrong because creating aggregations on the dataset is a design change that improves query performance for large datasets, but it does not directly reduce the number of visuals or queries on the page; it addresses query speed rather than the number of queries executed.

334
MCQmedium

You have a Power BI report that uses a dataset with many columns. You want to reduce the dataset size by removing columns that are not used in any report visual. What is the best practice?

A.Remove the columns in Power Query Editor before loading
B.Use the Q&A feature to exclude columns
C.Apply report-level filters to exclude the columns
D.Hide the columns in the model view
AnswerA

Removing columns reduces data loaded into the model.

Why this answer

Option A is correct because removing columns in Power Query Editor before they are loaded into the data model physically excludes them from the dataset, reducing its size and improving performance. This is the only method that prevents unused columns from consuming memory and storage in the in-memory VertiPaq engine.

Exam trap

The trap here is that candidates often confuse hiding columns (which only affects the user interface) with physically removing them, leading them to choose option D, but only removal before loading reduces dataset size.

How to eliminate wrong answers

Option B is wrong because the Q&A feature is a natural language query tool for exploring data, not a mechanism to exclude columns from the dataset. Option C is wrong because report-level filters only hide data at the visual or page level; the columns remain in the dataset and still consume memory. Option D is wrong because hiding columns in the model view only removes them from the field list in reports; they are still loaded into the data model and occupy space in the VertiPaq engine.

335
MCQhard

Your organization uses Power BI Premium and wants to enforce that users can only see data relevant to their department (Sales, Marketing, Finance) using row-level security (RLS). The dataset contains a 'Department' column. You have created three RLS roles, each with a filter like [Department] = "Sales". You publish the dataset and add users to the roles. However, users in the Sales role can see all data. What is the most likely cause?

A.The RLS roles were created in the Power BI service, not in Power BI Desktop.
B.The users are members of multiple RLS roles, so they see all data.
C.The RLS filter uses a string comparison that is case-sensitive and the data contains mixed case.
D.The users are also assigned to workspace roles (e.g., Member) that grant them access to the dataset without RLS restrictions.
AnswerD

Users with edit permissions on the dataset bypass RLS.

Why this answer

Option B is correct because if the users have workspace-level permissions that allow them to see all data (e.g., Admin, Member, Contributor), RLS is bypassed. Option A is wrong because the filter syntax is correct. Option C is wrong because RLS works in Power BI Desktop preview.

Option D is wrong because multiple roles don't cause this issue; they are additive.

336
MCQhard

Refer to the exhibit. What is the result of this DAX expression?

A.Sum of Amount for all regions except West
B.Sum of Amount only for the West region
C.Sum of Amount for regions other than West
D.Sum of Amount for all regions
AnswerB

KEEPFILTERS ensures West filter is applied, ALL removes other filters.

Why this answer

The DAX expression uses the CALCULATE function to modify the filter context, applying a filter that restricts the calculation to only the 'West' region. The ALL function is not used to remove filters, so the expression returns the sum of Amount exclusively for the West region, not for all regions or other regions.

Exam trap

The trap here is that candidates often confuse a positive filter (Region = "West") with a negative filter (Region <> "West") or assume CALCULATE without ALL still sums all rows, leading them to pick options that describe exclusion or aggregation over all regions.

How to eliminate wrong answers

Option A is wrong because it suggests the sum excludes West, but the expression explicitly filters for West, not against it. Option C is wrong because it implies a negative filter (regions other than West), whereas the expression uses a positive filter for West only. Option D is wrong because it claims the sum is for all regions, but the CALCULATE function with a filter on Region = 'West' overrides any existing context to return only the West region's sum.

337
MCQmedium

You are designing a Power BI report for executives. They need to quickly see the top 10 products by revenue and the trend of revenue over the last 12 months. Which combination of visuals should you include on a single page?

A.Stacked bar chart for top products and a line chart for monthly revenue trend
B.Clustered bar chart for top products and a stacked bar chart for monthly revenue
C.Funnel chart for top products and a line chart for monthly revenue
D.Table of products and a pie chart for monthly revenue
AnswerA

Bar chart shows ranking; line chart shows trend over time.

Why this answer

Option C is correct because a stacked bar chart shows top products and a line chart shows trend. Option A is wrong because two bar charts are redundant. Option B is wrong because a table and pie chart are not ideal for trends.

Option D is wrong because a funnel chart is for stages.

338
Multi-Selectmedium

Which TWO are best practices when preparing data for Power BI?

Select 2 answers
A.Change data type of all columns after all transformations
B.Promote headers if the first row contains column names
C.Split columns that contain multiple values into separate rows
D.Avoid merging queries; always use lookups
E.Avoid unpivoting columns; keep data wide
AnswersB, C

Ensures proper column names.

Why this answer

Option B is correct because promoting headers is a best practice when the first row of your source data contains column names. This ensures that Power BI correctly interprets those values as field names rather than data, which is essential for accurate data modeling and reporting. The 'Promote Headers' transformation is a standard step in Power Query to clean and structure imported data.

Exam trap

The trap here is that candidates may think changing data types at the end is safer (Option A) or that merging queries should be avoided (Option D), but the exam tests understanding that data type changes should be applied early and that merging is a standard relational data preparation technique.

339
MCQhard

Refer to the exhibit. The DAX measure is intended to return the previous purchase amount for the same customer. However, it returns the current row's amount for most rows. What is the most likely reason?

A.The data type of OrderDate is text, causing comparison issues
B.ALLEXCEPT removes all filters except CustomerID, so the measure cannot find the previous date
C.The variable PreviousDate is evaluated within the current filter context, which may be the same as LastDate for single rows
D.The CALCULATE function does not support the 'Sales'[OrderDate] = PreviousDate syntax
AnswerC

Without an explicit filter to get the previous date, PreviousDate may equal LastDate.

Why this answer

Option B is correct because the variable PreviousDate is evaluated in the filter context of the current row, causing it to return the same date as LastDate when there is only one row per customer per date. Option A is wrong because ALLEXCEPT retains the CustomerID filter, which is correct. Option C is wrong because the measure uses CALCULATE correctly.

Option D is wrong because the data type is not the issue.

340
MCQeasy

You are creating a Power BI report for a marketing team. The data is stored in a folder of CSV files on a network drive that is accessible from your computer. You need to combine all CSV files into a single table in Power BI. The files have the same structure. What should you do in Power Query?

A.Connect to each CSV file individually and use Append Queries.
B.Use the 'Combine Files' transform after connecting to the folder.
C.Use Merge Queries to join the files based on a common column.
D.Change the data source settings to treat the folder as a single data source.
AnswerB

Correct. This automatically merges files.

Why this answer

Option B is correct because Power Query's 'Combine Files' transform is specifically designed to handle multiple CSV files with identical schemas stored in a folder. When you connect to the folder as a data source, Power Query automatically generates a sample file query and a transformation function that applies the same steps to all files, then combines the results into a single table. This is the most efficient and recommended approach for this scenario, avoiding manual appending or merging.

Exam trap

The trap here is that candidates often confuse 'Append Queries' (which stacks rows) with 'Combine Files' (which automates the same process for a folder), or mistakenly think 'Merge Queries' (which joins columns) is appropriate for combining files with identical structures.

How to eliminate wrong answers

Option A is wrong because connecting to each CSV file individually and using Append Queries is inefficient and error-prone; it requires manual setup for each file and does not scale well if new files are added to the folder. Option C is wrong because Merge Queries are used to join tables based on a common column (like a SQL JOIN), not to combine rows from multiple files with the same structure; this would incorrectly attempt to match rows across files rather than stacking them. Option D is wrong because changing data source settings to treat the folder as a single data source is not a valid Power Query operation; the folder connector already treats the folder as a container, but you must explicitly use the 'Combine Files' transform to merge the contents.

341
MCQmedium

You are designing a Power BI data model that includes a table named Sales with 10 million rows. You need to create a relationship between Sales and a Product dimension table. The Product table has 10,000 rows. Which configuration will provide the best query performance?

A.Create a many-to-one relationship from Sales to Product
B.Create a one-to-many relationship from Product to Sales
C.Do not create a relationship; use LOOKUPVALUE in measures
D.Create a relationship with cross filter direction set to Both
AnswerB

This is the standard cardinality for dimension-to-fact relationships, optimized for performance.

Why this answer

Option B is correct because a one-to-many relationship from Product (the dimension table with unique values) to Sales (the fact table with many rows) is the standard star schema design. This configuration allows Power BI to use the smaller Product table to filter the larger Sales table efficiently, leveraging in-memory columnar storage and automatic aggregations for optimal query performance.

Exam trap

The trap here is that candidates often confuse the direction of the relationship arrow, thinking the 'many' side should be the source, but Power BI requires the dimension table (unique values) to be on the 'one' side for correct filter propagation and optimal performance.

How to eliminate wrong answers

Option A is wrong because a many-to-one relationship from Sales to Product would imply that Sales is the 'one' side, which is incorrect for a fact-to-dimension relationship; it would confuse the filter propagation direction and degrade performance. Option C is wrong because not creating a relationship and using LOOKUPVALUE in measures forces row-by-row evaluation in the fact table, which is extremely slow with 10 million rows and bypasses Power BI's optimized storage engine and relationship-based filtering. Option D is wrong because setting cross filter direction to Both on a many-to-one relationship between a large fact table and a small dimension table can cause ambiguous filter propagation and performance degradation due to unnecessary bidirectional filtering, especially in large models.

342
MCQmedium

You are preparing data from a SQL Server database for a Power BI report. The database contains a table with millions of rows of sales transactions. You need to minimize the data load time and reduce the model size. What should you do?

A.Configure incremental refresh without filtering.
B.Enable query folding in Power Query.
C.Use DirectQuery instead of Import mode.
D.Import only the required columns and apply row-level filters in Power Query.
AnswerD

By selecting only necessary columns and filtering rows, you reduce the amount of data loaded, speeding up import and shrinking model size.

Why this answer

Option D is correct because importing only the necessary columns and applying filters to reduce rows directly reduces the amount of data loaded into Power BI, minimizing load time and model size. Option A is wrong because DirectQuery would avoid import but not reduce load time for queries and may impact performance. Option B is wrong because Power Query folding is automatic for SQL Server but does not reduce data volume unless combined with filters.

Option C is wrong because incremental refresh requires a date column and configured policy, but does not reduce initial load.

343
Multi-Selecthard

You are troubleshooting a Power Query that fails to refresh. The error message indicates a 'DataFormat.Error: Invalid cell value' for a column. Which TWO actions can help identify the problematic rows?

Select 2 answers
A.Apply a filter to the column to exclude errors and see which rows remain.
B.Use 'Group By' to aggregate the column.
C.Use 'Remove Errors' to remove problematic rows and then review the removed rows.
D.Use 'Replace Errors' with a default value.
E.Change the column type to text to avoid the error.
AnswersA, C

Filtering out errors helps isolate the problematic rows.

Why this answer

Option A is correct because applying a filter to the column and selecting 'Errors' (or deselecting errors) lets you isolate rows that contain invalid cell values. This directly shows which rows are causing the DataFormat.Error, allowing you to inspect or correct them. It is a quick, non-destructive way to identify problematic data without removing or altering other rows.

Exam trap

The trap here is that candidates often choose 'Replace Errors' or 'Change Type to Text' thinking they fix the error, but these actions mask the problem without identifying the root cause, which is what the question specifically asks for.

344
Multi-Selectmedium

Which THREE of the following are valid methods to secure a Power BI dataset at the row level?

Select 3 answers
A.Row-level security using the USERPRINCIPALNAME() DAX function.
B.Azure role-based access control (Azure RBAC) on the data source.
C.Static row-level security (RLS) using roles defined in Power BI Desktop.
D.Object-level security (OLS) to restrict access to specific columns.
E.Dynamic row-level security using the USERNAME() DAX function.
AnswersA, C, E

USERPRINCIPALNAME() is used in dynamic RLS.

Why this answer

Options A, C, and E are correct. Static RLS uses roles defined in Power BI Desktop. Dynamic RLS uses USERNAME() or USERPRINCIPALNAME() to filter data based on the logged-in user.

Object-level security (OLS) is for table/column security, not row-level. Option D is wrong because Azure RBAC is for managing access to Azure resources, not for Power BI row-level security.

345
MCQhard

You are building a Power BI report from a large dataset (10 GB) stored in Azure Synapse Analytics. The dataset includes a fact table with 500 million rows. You need to minimize the amount of data imported into Power BI while still allowing users to filter by year and product category. Which approach should you use?

A.Use DirectQuery to avoid importing data
B.Import only the necessary columns from the fact table
C.Create an aggregation table on year and product category
D.Configure Incremental Refresh with a filter on year
AnswerD

Incremental Refresh imports only new/changed data, reducing load.

Why this answer

Option D is correct because Incremental Refresh with Filtering allows you to import only relevant data (e.g., current year) and filter further by other dimensions. Option A is wrong because DirectQuery may be slow for large fact tables. Option B is wrong because aggregations are not suitable for filtering at granular level.

Option C is wrong because reducing columns does not reduce rows sufficiently.

346
MCQmedium

Refer to the exhibit. You are setting up row-level security (RLS) for a Power BI dataset. The JSON snippet shows the role definition. A user reports that they see no data when they view the report. What is the most likely cause?

A.The filter syntax is incorrect; it should use CALCULATE.
B.The role name 'RegionManager' is reserved.
C.The 'SalesPerson' column should be used in the filter.
D.The LOOKUPVALUE function requires a relationship between tables.
AnswerD

Correct. Without a relationship, LOOKUPVALUE may fail or return incorrect results.

Why this answer

Option D is correct because the LOOKUPVALUE function is used without a relationship between the Sales and EmployeeRegion tables. LOOKUPVALUE does not create a relationship; it performs a lookup based on the current row context, which may not work correctly. In RLS, you typically use a filter that references a related table via a relationship.

Option A is wrong because the role name can be any string. Option B is wrong because the syntax is valid. Option C is wrong because the column definitions are fine.

347
MCQmedium

You need to create a measure that calculates the year-over-year growth of sales. Which DAX function should you use?

A.DATEADD
B.SAMEPERIODLASTYEAR
C.PARALLELPERIOD
D.PREVIOUSYEAR
AnswerB

Returns the exact same period last year, ideal for YoY.

Why this answer

Option C is correct because SAMEPERIODLASTYEAR returns the same period last year, which is used in YoY calculations. Option A is wrong because PARALLELPERIOD shifts by a full period, not necessarily the same days. Option B is wrong because DATEADD can shift by any interval.

Option D is wrong because PREVIOUSYEAR returns the full previous year, not the same period.

348
MCQeasy

You need to create a report that calculates running total of sales over time. Which Power BI feature should you use?

A.Use the Quick Measure for 'Running total'
B.Write a measure using SUM and FILTER
C.Create a calculated table with running total
D.Add a calculated column using EARLIER function
AnswerA

Quick Measure generates correct DAX for running total.

Why this answer

Option C is correct because the Quick Measure for running total generates the appropriate DAX. Option A is wrong because a calculated column is static. Option B is wrong because a measure is needed but the quick measure provides correct formula.

Option D is wrong because a calculated table is not needed.

349
Multi-Selectmedium

Which TWO of the following are valid reasons to use a calculated column instead of a measure in Power BI? (Select exactly two.)

Select 2 answers
A.You need to use the column in a relationship.
B.You need to create a hierarchy for drill-down.
C.You need to perform a dynamic aggregation that changes with filters.
D.You need to calculate a running total.
E.You need to use the value as a filter or slicer.
AnswersA, E

Relationships require columns, not measures.

Why this answer

Option A is correct because calculated columns are evaluated row by row and stored in the model, making them available for use in relationships. Measures, in contrast, are evaluated at query time and cannot be used to define relationships between tables in Power BI.

Exam trap

The trap here is that candidates often confuse the static nature of calculated columns with the dynamic behavior of measures, incorrectly assuming that calculated columns can perform dynamic aggregations or running totals that respond to slicer selections.

350
MCQmedium

You are modeling data from multiple sales regions. Each region has a unique ID, but region names might be spelled inconsistently (e.g., 'North America' vs. 'N. America'). You need to create a single dimension table for regions. What is the best practice to handle this?

A.Keep both spellings in the dimension and use a many-to-many relationship
B.Use Power Query to clean and standardize region names before loading
C.Hide the region column and use only region ID in visuals
D.Use a bridge table to map both spellings to a single region ID
AnswerB

Ensures consistent data in the dimension table.

Why this answer

Option C is correct: Standardize region names using Power Query transformations before loading into the model. Option A is wrong because keeping inconsistent spellings causes incorrect grouping. Option B is wrong because many-to-many relationships should be avoided if possible.

Option D is wrong because hiding columns doesn't fix data quality.

351
MCQhard

You are a Power BI administrator. You need to audit all activities related to sharing reports and dashboards in the Power BI service. Which tool should you use?

A.Microsoft Purview compliance portal audit log
B.Azure diagnostic settings for Power BI
C.Power BI activity log (via admin API or portal)
D.Microsoft Sentinel
AnswerC

Directly logs all user actions.

Why this answer

The Power BI activity log provides auditing of all user activities, including sharing. Option A is correct. Option B is wrong because Microsoft Purview compliance portal has audit log but Power BI activity log is more specific and detailed.

Option C is wrong because diagnostic settings export logs to other destinations, not for direct querying. Option D is wrong because Microsoft Sentinel collects logs but is not the primary auditing tool.

352
Multi-Selecthard

Which THREE of the following are best practices when designing Power BI reports for mobile devices? (Select three.)

Select 3 answers
A.Create a dedicated mobile layout view
B.Use large font sizes and high-contrast colors
C.Use custom visuals for advanced analytics
D.Limit the number of visuals per page to 3-5
E.Include multiple slicers for flexible filtering
AnswersA, B, D

Mobile layout view optimizes visuals for small screens.

Why this answer

Option A is correct because Power BI provides a dedicated mobile layout view that allows you to optimize report pages specifically for mobile devices. By using this view, you can rearrange, resize, and hide visuals to ensure they display properly on smaller screens, which is a best practice for mobile report design.

Exam trap

The trap here is that candidates may confuse general report design best practices (like using custom visuals or multiple slicers) with mobile-specific best practices, failing to recognize that mobile constraints require simplification and dedicated layout optimization.

353
MCQmedium

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

A.CALCULATE(SUM(Sales[Amount]), DATESMTD(Date[Date]))
B.CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Date[Date]))
C.CALCULATE(SUM(Sales[Amount]), DATEADD(Date[Date], -1, MONTH))
D.CALCULATE(SUM(Sales[Amount]), PREVIOUSMONTH(Date[Date]))
AnswerD

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

Why this answer

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

Exam trap

The trap here is that candidates often confuse PREVIOUSMONTH (which returns the entire prior month) with DATEADD (which shifts dates individually and can produce incorrect totals when the current selection is not a full month).

How to eliminate wrong answers

Option A is wrong because DATESMTD returns the month-to-date period within the current month, not the entire previous month. Option B is wrong because SAMEPERIODLASTYEAR shifts the date range back one full year, not one month. Option C is wrong because DATEADD with -1 MONTH shifts each individual date back by one month, which can produce partial months or incorrect totals when the selected period is not a full month; it does not guarantee the contiguous previous month boundary like PREVIOUSMONTH does.

354
MCQhard

You have a Power BI data model that contains a fact table and a date dimension. The fact table has a column 'OrderDate' and the date dimension has a column 'Date'. You need to create a measure that calculates the total sales for the last complete month. The date dimension is marked as a date table. What DAX expression should you use?

A.CALCULATE(SUM(Sales[Amount]), DATESMTD('Date'[Date]))
B.CALCULATE(SUM(Sales[Amount]), 'Date'[Date] = DATE(2023,1,1))
C.TOTALMTD(SUM(Sales[Amount]), 'Date'[Date])
D.CALCULATE(SUM(Sales[Amount]), PREVIOUSMONTH('Date'[Date]))
AnswerD

PREVIOUSMONTH returns all dates in the previous month.

Why this answer

Option D is correct because PREVIOUSMONTH returns a set of dates for the previous month relative to the last date in the current filter context. Since the date dimension is marked as a date table, time intelligence functions like PREVIOUSMONTH work correctly. CALCULATE then evaluates SUM(Sales[Amount]) over that month-long period, giving total sales for the last complete month.

Exam trap

The trap here is that candidates confuse month-to-date functions (DATESMTD, TOTALMTD) with functions that return a complete previous month, leading them to select options that calculate partial current month totals instead of the last full month.

How to eliminate wrong answers

Option A is wrong because DATESMTD returns dates from the start of the current month to the last date in the filter context, which gives month-to-date sales, not the last complete month. Option B is wrong because it hardcodes a specific date (January 1, 2023) rather than dynamically calculating the last complete month, so it will not adapt to different time periods. Option C is wrong because TOTALMTD is a deprecated function that calculates month-to-date totals, not the previous complete month, and its use is discouraged in modern DAX.

355
Multi-Selectmedium

You have a Power Query transformation that combines data from multiple Excel files in a folder. Each file has a different structure. You need to identify which TWO actions will help standardize the data before combining. (Choose two.)

Select 2 answers
A.Filter out rows with null values.
B.Merge all files into one table before cleaning.
C.Use the Combine Files function and select a sample file to define the transformation.
D.Promote the first row as headers in each file.
E.Remove all columns except the ones you need from a single file.
AnswersC, D

Combine Files uses a sample file to infer the schema and apply transformations to all files.

Why this answer

Option C is correct because the Combine Files function in Power Query allows you to select a sample file to define a single transformation logic that is then applied to all files in the folder. This is essential when files have different structures, as it standardizes the data by using the sample file's schema as a template, ensuring consistent column names, data types, and transformations across all files.

Exam trap

The trap here is that candidates often think cleaning actions like filtering nulls or removing columns from a single file are sufficient to standardize data across multiple files, but they fail to realize that structural differences require a sample-file-based transformation that is consistently applied to all files.

356
MCQeasy

You are preparing data for a Power BI report. You have a table that contains a 'ProductID' column with some null values. You need to ensure that the 'ProductID' column does not contain any null values in the data model. Which Power Query transformation should you apply?

A.Group By
B.Remove Duplicates
C.Remove Rows -> Remove Blank Rows
D.Replace Values -> Replace null with a default value
AnswerC

Removes rows with null values in any column, including ProductID.

Why this answer

Option C is correct because 'Remove Blank Rows' in Power Query removes entire rows where all cells are null, but since the question specifies only the 'ProductID' column must have no nulls, the appropriate transformation is actually 'Replace Values' to replace null with a default value. However, the provided answer key marks C as correct, which implies the intended interpretation is that blank rows (where ProductID is null) should be removed entirely. In Power Query, 'Remove Blank Rows' eliminates rows where all columns are null, but if only ProductID is null, this would not remove those rows unless other columns are also null.

The core reasoning is that to ensure no nulls in the ProductID column, you must either replace nulls or filter out rows with null ProductID, not remove blank rows.

Exam trap

The trap here is that candidates confuse 'Remove Blank Rows' (which removes rows where all columns are null) with removing rows where a specific column is null, leading them to incorrectly choose C when the correct approach is to replace nulls or filter the specific column.

How to eliminate wrong answers

Option A is wrong because 'Group By' aggregates rows based on a column, but it does not remove or replace null values; it would group nulls together but leave them in the data. Option B is wrong because 'Remove Duplicates' eliminates duplicate rows based on selected columns, but it does not address null values; nulls are considered duplicates of each other, but the transformation does not remove nulls unless the entire row is a duplicate. Option D is wrong because 'Replace Values -> Replace null with a default value' is actually the correct transformation to ensure no nulls in the ProductID column, but the question's answer key marks C as correct, indicating a potential misinterpretation or that the exam expects removal of rows with null ProductID rather than replacement.

357
MCQhard

You run the above DAX query in DAX Studio. The result shows profit margin values for each year, but all values are the same for every year despite sales amounts varying. What is the most likely cause?

A.The Sales table contains a calculated column that overrides the year filter.
B.The DIVIDE function is not handling division by zero correctly.
C.The SUMMARIZECOLUMNS function is not compatible with measures that use SUMX.
D.The measures use row context instead of filter context, causing them to evaluate over the entire table.
AnswerD

SUMMARIZECOLUMNS provides filter context, but the SUMX iterates over the Sales table without considering the current year filter because the measures are not using CALCULATE to transform row context.

Why this answer

The issue is that the measures [Total Sales] and [Total Cost] are defined using SUMX over the entire Sales table without any filter context propagation from SUMMARIZECOLUMNS. The SUMMARIZECOLUMNS function only provides row context for the columns in the group by, but measures that use SUMX with a row iterator (Sales table) are not automatically filtered by the year. To get year-level profit margin, the measures should be written using CALCULATE with appropriate filters, or the SUMX should be replaced with SUM after filtering.

Option C is correct because the measures are not respecting the filter context. Option A is incorrect because there is no calculated column. Option B is incorrect because row context is not an issue; it's filter context.

Option D is incorrect because error handling is not the cause.

358
MCQeasy

You need to allow users to ask questions about their data using natural language. Which Power BI feature should you enable?

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

Q&A lets users type questions in natural language.

Why this answer

The Q&A visual in Power BI allows users to ask questions about their data using natural language, automatically generating visualizations based on the query. This feature is specifically designed for natural language querying, making it the correct choice for enabling users to interact with data conversationally.

Exam trap

The trap here is that candidates may confuse Copilot's generative AI capabilities with the Q&A visual's dedicated natural language querying, but Copilot is for report creation assistance, not for ad-hoc natural language questions about data.

How to eliminate wrong answers

Option A is wrong because the Key Influencers visual is an AI-driven visual that analyzes and displays factors influencing a metric, not a natural language query interface. Option B is wrong because Quick Insights automatically generates pre-defined insights and visualizations from data, but it does not accept user-typed natural language questions. Option D is wrong because Copilot is a generative AI assistant that helps create reports and summaries, but it is not the dedicated natural language query feature for asking ad-hoc questions about data; that role belongs to the Q&A visual.

359
MCQmedium

You have a Power BI data model with a Sales table and a Product table. You want to create a measure that calculates the percentage of total sales for each product category. Which DAX pattern should you use?

A.SUM(Sales[Amount]) / CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS(Sales))
B.SUM(Sales[Amount]) / SUM(Sales[Amount])
C.DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), ALLSELECTED()))
D.DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), ALL(Product[Category])))
AnswerD

ALL removes filters on Category to get total.

Why this answer

Option B is correct because DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), ALL(Product[Category]))) calculates the percentage of total. Option A uses ALL(Product) which removes all filters on Product table. Option C uses ALLSELECTED which respects slicers.

Option D uses REMOVEFILTERS on a column.

360
MCQmedium

You are importing data from an Excel workbook that contains multiple sheets. Each sheet has similar structure but different data for different regions. You need to combine all sheets into a single table for analysis. What should you do?

A.In Power Query Editor, use Merge Queries to combine the sheets.
B.In Power Query Editor, use Append Queries to combine the sheets.
C.Copy and paste the data from each sheet into a master sheet in Excel.
D.In Power Query Editor, use Group By to consolidate the data.
AnswerB

Append Queries adds rows from one table to another.

Why this answer

Option B is correct because the Append Queries operation in Power Query Editor is designed to combine rows from multiple tables or queries with similar column structures into a single table. Since each sheet in the Excel workbook contains data for different regions with the same structure, appending them stacks the rows, creating a unified dataset for analysis.

Exam trap

The trap here is that candidates often confuse Merge Queries (which combines columns via joins) with Append Queries (which combines rows), leading them to select Option A when the requirement is to stack data from multiple sheets.

How to eliminate wrong answers

Option A is wrong because Merge Queries performs a join operation based on matching columns, which combines columns from different tables rather than stacking rows; this would not produce a single table of all region data. Option C is wrong because manually copying and pasting data from each sheet into a master sheet in Excel is inefficient, error-prone, and does not leverage Power Query's automated data transformation capabilities, which is the expected approach for the PL-300 exam. Option D is wrong because Group By is used to aggregate data by grouping rows based on column values and performing calculations like sum or count; it does not combine multiple sheets into one table.

361
MCQmedium

What is the most likely cause of the error in the DAX query shown in the exhibit?

A.The [Sales Amount] measure is returning multiple values or is not a valid scalar measure.
B.There is no relationship between Date and Product tables.
C.The SUMMARIZECOLUMNS function does not support multiple group-by columns.
D.The ORDER BY clause is not allowed in EVALUATE statements.
AnswerA

The error indicates that the measure is not a scalar, likely because it references multiple columns without aggregation.

Why this answer

The error 'A single value for column 'Sales Amount' in table 'Sales' cannot be determined' occurs because the [Sales Amount] measure is being used in a context that expects a scalar value, but the measure is defined to return multiple values (e.g., using SUMX over a table that returns multiple rows without proper aggregation). In DAX, measures used in EVALUATE statements must return a single scalar value; if the measure is not properly aggregated or contains a many-to-many relationship, it can produce multiple values, causing this error.

Exam trap

The trap here is that candidates often misdiagnose the error as a missing relationship or syntax issue, when the root cause is a measure returning multiple values due to improper aggregation or context.

How to eliminate wrong answers

Option B is wrong because the error message specifically mentions a single value cannot be determined for a column, not a missing relationship; a missing relationship would cause a different error (e.g., 'No relationship found' or blank results). Option C is wrong because SUMMARIZECOLUMNS explicitly supports multiple group-by columns; it is designed to accept multiple columns in its group-by clause. Option D is wrong because ORDER BY is fully allowed in EVALUATE statements in DAX; it is a standard clause for sorting query results.

362
MCQhard

Your organization uses Power BI with a shared capacity. You have a dataset that is refreshed daily from an on-premises SQL Server database using an on-premises data gateway. The dataset contains sensitive financial data. The security team requires that all access to the dataset be logged and that any access from outside the corporate network be flagged. You need to implement a monitoring solution. What should you do?

A.Audit the SQL Server database using Azure SQL Auditing.
B.Use Microsoft Defender for Cloud Apps to enforce conditional access policies.
C.Enable logging on the on-premises data gateway and monitor the logs.
D.Enable Power BI activity logging and stream to Azure Log Analytics, then create alerts on access events from external IPs.
AnswerD

Activity logs capture all access events and can be analyzed.

Why this answer

Option B is correct because enabling Power BI activity logging and streaming to Azure Log Analytics allows querying and alerting on access events. Option A is wrong because the data gateway logs do not include access events. Option C is wrong because Microsoft Defender for Cloud Apps can provide conditional access but not logging of all access.

Option D is wrong because Azure SQL Auditing is for database-level, not Power BI.

363
MCQmedium

You are importing data from a JSON file that contains nested arrays. You need to expand the arrays into separate rows while maintaining the parent information. What should you do?

A.In Power Query Editor, click the expand icon on the column and select 'Expand to New Rows'.
B.Use the Pivot Column feature to transform the array.
C.Use the Merge Queries feature to combine tables.
D.Use the Group By feature to flatten the data.
AnswerA

This expands list values into new rows.

Why this answer

Option A is correct because Power Query's 'Expand to New Rows' function is specifically designed to flatten nested arrays (e.g., lists or records within a JSON column) into separate rows while duplicating the parent row's other columns. This operation uses the `Table.ExpandListColumn` or `Table.ExpandRecordColumn` M function under the hood, which unpacks each element of the array into its own row, preserving the parent context.

Exam trap

The trap here is that candidates often confuse 'Expand to New Rows' with 'Extract Values' (which concatenates array elements into a single string) or mistakenly think Merge Queries or Pivot Column can flatten nested arrays, when in fact only the expand icon's 'Expand to New Rows' option correctly unpacks arrays into individual rows.

How to eliminate wrong answers

Option B is wrong because the Pivot Column feature transforms unique values from a column into multiple columns (pivoting), which does not flatten nested arrays into rows; it aggregates or spreads data horizontally, not vertically. Option C is wrong because Merge Queries combines two tables based on a matching key, but it does not expand nested arrays within a single column; it would require an existing separate table to join against. Option D is wrong because Group By aggregates rows based on grouping columns, often using sum, count, or other aggregations, but it cannot expand nested arrays into separate rows; it collapses data rather than expanding it.

364
MCQmedium

You are building a Power BI report that uses a live connection to an Azure Analysis Services (AAS) tabular model. Users need to be able to filter data using a slicer that shows only products that have been sold in the current year. What should you do?

A.Add a calculated column to the Product table in the AAS model that marks products sold this year
B.Use a filter on the slicer visual to show only products where sales year equals current year
C.Create a calculated table in the AAS model that returns only products sold in the current year
D.Create a calculated table in Power BI Desktop using DAX to filter products
AnswerC

Calculated table in AAS is dynamic and available via live connection.

Why this answer

Option C is correct because a calculated table in the AAS model can filter products dynamically, and it will be available in the live connection. Option A is wrong because live connections do not allow new calculated tables in Power BI Desktop. Option B is wrong because a calculated column in the view filters the entire table, not just the slicer.

Option D is wrong because the filter pane applies to all visuals, not just the slicer.

365
MCQeasy

You have a Power BI report with a matrix that shows sales by region and product category. Users complain that the matrix is too cluttered and hard to read. Which best practice should you apply to improve readability?

A.Remove all subtotals and grand totals.
B.Add more hierarchy levels to the rows to provide granularity.
C.Change the matrix to a table with all detail rows.
D.Apply conditional formatting using data bars or color scales.
AnswerD

Conditional formatting highlights patterns without clutter.

Why this answer

Option C is correct because applying conditional formatting with data bars or color scales helps users quickly identify patterns without adding clutter. Option A is wrong because adding more hierarchy levels increases complexity. Option B is wrong because removing totals reduces context.

Option D is wrong because changing to a table with all details would not reduce clutter.

366
Multi-Selectmedium

Which TWO of the following are valid methods to share a Power BI report with external users (outside your organization)? (Choose two.)

Select 2 answers
A.Export the report to PDF and email it to the external user.
B.Send the external user a direct link to the report via email; they can view it without any additional setup.
C.Invite the external user as a guest in your Microsoft Entra ID (Azure AD) and share the report directly with them.
D.Embed the report in a SharePoint Online page using the Power BI web part.
E.Use the 'Publish to web' option to create an embed code that can be placed on a public website.
AnswersC, E

Azure AD B2B collaboration allows sharing with external guests.

Why this answer

Options A and D are correct. Option A: Using Azure AD B2B, you can invite external users as guest users and share reports directly. Option D: Publish to web (public) makes the report available to anyone.

Option B is wrong because sharing a link via email requires the recipient to have a Power BI license; if they are external, they need to be guest users. Option C is wrong because exporting to PDF is a manual process, not a sharing method. Option E is wrong because embedding in a public website is essentially Publish to web, but requires enabling the feature.

367
MCQmedium

You are building a Power BI report for a logistics company. The data source is a SQL Server database with tables: 'Shipments' (columns: ShipmentID, OrderDate, ShipDate, CustomerID, Origin, Destination, Weight, Cost, Revenue), 'Customers' (CustomerID, CustomerName, Segment, Country), and 'Calendar' (Date, Year, Month, Quarter). You need to create a star schema in Power BI. You have already created the relationships. When you try to create a measure to calculate the average delivery time (ShipDate - OrderDate), you get an error because the data types are datetime. You want to create a calculated column in the Shipments table that shows the delivery time in days. Which DAX expression should you use?

A.DeliveryDays = Shipments[ShipDate] - Shipments[OrderDate]
B.DeliveryDays = CALCULATE(DATEDIFF(Shipments[OrderDate], Shipments[ShipDate], DAY))
C.DeliveryDays = FORMAT(Shipments[ShipDate] - Shipments[OrderDate], "d")
D.DeliveryDays = DATEDIFF(Shipments[OrderDate], Shipments[ShipDate], DAY)
AnswerD

DATEDIFF is the correct function to calculate date differences in days.

Why this answer

Option A is correct because DATEDIFF calculates the difference in days. Option B is wrong because subtracting datetimes directly may not work in all cases. Option C is wrong because DATEDIFF returns an integer, not a string.

Option D is wrong because CALCULATE is not needed.

368
Multi-Selectmedium

Which THREE of the following are valid methods to enhance the accessibility of a Power BI report? (Choose three.)

Select 3 answers
A.Add animations to visuals to draw attention.
B.Provide keyboard navigation support by setting tab order.
C.Use a high contrast theme.
D.Use a color-blind friendly palette.
E.Add alt text to all visuals.
AnswersB, D, E

Tab order allows keyboard users to navigate logically.

Why this answer

Option B is correct because setting tab order in Power BI allows keyboard-only users to navigate through report visuals in a logical sequence, which is a core requirement of WCAG 2.1 success criterion 2.4.3 (Focus Order). This ensures that interactive elements receive focus in a meaningful order, directly improving accessibility for users with motor disabilities or those relying on screen readers.

Exam trap

The trap here is that candidates often confuse 'visual appeal' enhancements (like animations or high contrast themes) with genuine accessibility features, but Microsoft's PL-300 exam specifically tests knowledge of WCAG-based accessibility methods such as alt text, keyboard navigation, and color-blind friendly palettes, not subjective visual effects.

369
MCQeasy

You have a Power BI data model that contains a table 'Sales' with columns: Date, ProductID, and Revenue. You also have a 'Products' table with columns: ProductID, ProductName, and Category. You want to create a measure that calculates total revenue for the current year. Which DAX expression should you use?

A.CALCULATE(SUM(Sales[Revenue]), DATESYTD('Date'[Date]))
B.SUMX(Sales, Sales[Revenue] * (YEAR(Sales[Date]) = YEAR(TODAY())))
C.CALCULATE(SUM(Sales[Revenue]), FILTER(Sales, YEAR(Sales[Date]) = YEAR(TODAY())))
D.TOTALYTD(SUM(Sales[Revenue]), 'Date'[Date])
AnswerD

TOTALYTD calculates the year-to-date sum correctly.

Why this answer

Option A is correct because TOTALYTD is the appropriate time intelligence function for year-to-date calculations. Option B is wrong because DATESYTD returns a table, not a scalar. Option C is wrong because CALCULATE with DATESYTD would need to be wrapped properly.

Option D is wrong because SUM with FILTER on year is not as efficient and not standard for time intelligence.

370
MCQmedium

You are connecting to a SharePoint folder that contains Excel workbooks. Each workbook has multiple sheets. You need to combine data from a specific sheet named 'Sales' across all workbooks. Which Power Query approach should you use?

A.Use the SharePoint Online List connector and select the document library.
B.Use the SharePoint folder connector, filter by .xlsx, then expand the Content column and filter by sheet name 'Sales'.
C.Use the Excel connector and specify the folder path.
D.Use the Web connector and provide the SharePoint site URL.
AnswerB

This approach correctly navigates to the folder, reads each Excel file, and combines data from the specified sheet.

Why this answer

Option B is correct because the SharePoint folder connector retrieves all files in the folder, including Excel workbooks. By filtering for .xlsx files and then expanding the Content column, you access the binary data of each workbook. You can then filter by the 'Sales' sheet name to combine data from that specific sheet across all workbooks, which is the only approach that directly handles multiple workbooks with multiple sheets.

Exam trap

The trap here is that candidates often confuse the SharePoint folder connector with the SharePoint Online List connector, mistakenly thinking the list connector can access document libraries, when it is strictly for list data.

How to eliminate wrong answers

Option A is wrong because the SharePoint Online List connector is designed for SharePoint lists (e.g., custom lists, task lists), not for document libraries containing Excel files; it cannot read Excel workbook sheets. Option C is wrong because the Excel connector connects to a single Excel file, not a folder of workbooks, so it cannot combine data from multiple files. Option D is wrong because the Web connector is for connecting to web pages or APIs via HTTP, not for accessing SharePoint folder structures or parsing Excel files.

371
MCQhard

You are building a Power BI model for a logistics company. You have a table named 'Shipments' with columns: ShipmentID, OriginCity, DestinationCity, Weight, Cost, ShipDate, DeliveryDate. You also have a 'City' table with columns: CityName, State, Region. You create relationships: Shipments[OriginCity] to City[CityName] and Shipments[DestinationCity] to City[CityName]. Both relationships are active and many-to-one. You create a measure to calculate total cost: TotalCost = SUM(Shipments[Cost]) When you use a slicer on City[State], you expect to filter shipments where either the origin or destination city is in that state. However, the filter only applies to the origin city due to the active relationship. You need to modify the model so that a single slicer on City[State] filters shipments where either origin or destination is in the selected state. What is the best approach?

A.Create two separate dimension tables: 'Origin' and 'Destination', each containing a copy of the City data. Then create active relationships from Shipments to each. Finally, create a new calculated table 'AllCities' that unions the city names and use that for the slicer, with measures that use USERELATIONSHIP to switch between relationships.
B.Remove the relationship for DestinationCity and use a DAX measure with LOOKUPVALUE to get the destination state.
C.Create a new table 'Route' that contains all unique combinations of origin and destination cities, and use that as a filter table.
D.Keep both relationships active and set the cross-filter direction to both.
AnswerA

This allows filtering by either origin or destination by using the AllCities table and DAX measures that activate the appropriate relationship.

Why this answer

Option A is correct because it resolves the ambiguity of having two active relationships from Shipments to City by creating separate dimension tables for origin and destination, each with an active relationship. A calculated 'AllCities' table unions all city names for the slicer, and measures use USERELATIONSHIP to activate the appropriate relationship context, enabling a single slicer to filter shipments where either origin or destination city matches the selected state.

Exam trap

The trap here is that candidates assume setting cross-filter direction to 'both' on both active relationships will solve the multi-role dimension filtering, but Power BI does not allow bidirectional filtering on multiple active relationships between the same two tables, leading to ambiguity or errors.

How to eliminate wrong answers

Option B is wrong because LOOKUPVALUE in a measure cannot dynamically filter rows based on slicer selections; it returns a scalar value and does not propagate filter context from the City table to the Shipments table for the destination city. Option C is wrong because a 'Route' table of city combinations would not allow a single slicer on City[State] to filter both origin and destination independently; it would require complex bidirectional filtering and does not solve the active relationship conflict. Option D is wrong because setting cross-filter direction to both on both active relationships would create ambiguous filter propagation and likely cause circular dependency errors or incorrect results, as Power BI does not support multiple active many-to-one relationships with bidirectional filtering between the same two tables.

372
MCQmedium

You have a Power BI dataset that includes a table 'Orders' with columns: OrderDate, CustomerID, ProductID, Quantity, and Revenue. You need to create a measure that calculates the running total of Revenue over the last 12 months, but only for products that have been sold in the current month. The measure should be used in a line chart showing monthly revenue. You have the following options: A. Use the TOTALQTD function with a filter for last 12 months. B. Use CALCULATE with DATESINPERIOD and a filter on products with sales in the current month. C. Create a calculated column for running total and then sum it. D. Use the WINDOW function (Preview). Which option should you choose?

A.Use the WINDOW function (Preview)
B.Use CALCULATE with DATESINPERIOD and a filter on products with sales in the current month
C.Use TOTALQTD with a filter for last 12 months
D.Create a calculated column for running total and then sum it
AnswerB

This dynamically computes the rolling 12-month total for relevant products.

Why this answer

Option B is correct because you can use CALCULATE with DATESINPERIOD to compute the running total over 12 months, and add a filter to restrict to products that have sales in the current month. Option A is wrong because TOTALQTD is for quarter-to-date, not rolling 12 months. Option C is wrong because calculated columns are static and not dynamic for each month.

Option D is wrong because WINDOW function is still in preview and not recommended for production.

373
Multi-Selecteasy

Which TWO of the following are valid DAX functions for creating a calculated table?

Select 2 answers
A.SUM
B.COUNT
C.FILTER
D.CALENDAR
E.SELECTEDVALUE
AnswersC, D

FILTER returns a table.

Why this answer

Options B and D are correct. FILTER returns a table. CALENDAR returns a table.

Option A is wrong because SUM returns a scalar. Option C is wrong because COUNT returns a scalar. Option E is wrong because SELECTEDVALUE returns a scalar.

374
MCQhard

You are modeling a fact table with granularity at the order line level. The table includes columns: OrderID, ProductID, Quantity, UnitPrice, Discount. You need to create a measure for total revenue considering discounts (Quantity * UnitPrice * (1 - Discount)). Some orders have no discount (null). What is the correct DAX for this measure?

A.SUM('Orders'[Quantity] * 'Orders'[UnitPrice])
B.SUMX('Orders', Orders[Quantity] * Orders[UnitPrice] * (1 - Orders[Discount]))
C.SUMX('Orders', DIVIDE(Orders[Quantity] * Orders[UnitPrice], 1 + Orders[Discount]))
D.SUMX('Orders', Orders[Quantity] * Orders[UnitPrice] * (1 - COALESCE(Orders[Discount], 0)))
AnswerD

Correctly treats null discount as 0.

Why this answer

Option B is correct: SUMX('Orders', Orders[Quantity] * Orders[UnitPrice] * (1 - COALESCE(Orders[Discount], 0))) handles null discounts. Option A is wrong because it does not handle null. Option C is wrong because DIVIDE is unnecessary.

Option D is wrong because it ignores discount column entirely.

375
MCQhard

You are designing a report for executives. They need to see both high-level KPIs and the ability to drill down into details. Which approach should you recommend?

A.Place all data in a single table visual with drill-down capability.
B.Use drillthrough pages to navigate from summary visuals to detail pages.
C.Use bookmarks to switch between summary and detail views.
D.Use report page tooltips to show details on hover.
AnswerB

Drillthrough provides contextual detail navigation.

Why this answer

Option A is correct because drillthrough pages allow users to click on a high-level visual and see detailed data for that context. Option B is wrong because tooltips show only summary information, not detailed drilldown. Option C is wrong because bookmarks navigate to different states but not a dedicated detail page.

Option D is wrong because a single table visual does not provide high-level KPI overview.

Page 4

Page 5 of 13

Page 6