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

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

Page 5

Page 6 of 13

Page 7
376
Drag & Dropmedium

Drag and drop the steps to create a quick measure in Power BI Desktop into the correct order.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order

Why this order

Quick measures provide pre-built DAX calculations; you select the type and fields, and Power BI generates the measure.

377
MCQeasy

You have a Power BI report that uses a bar chart to show sales by region. Users report that the chart is difficult to read because many regions have similar sales values. You need to improve the readability without changing the data. Which visual should you use?

A.Line chart
B.Treemap
C.Donut chart
D.Small multiples (bar chart)
AnswerD

Small multiples split the chart into panels for each category, improving readability.

Why this answer

Option B is correct because a small multiples chart allows breaking down the bar chart into separate panels per region, making it easier to compare values. Option A is wrong because treemaps are not ideal for comparing similar values. Option C is wrong because line charts are for trends.

Option D is wrong because donut charts show proportions.

378
MCQhard

You are reviewing a Power BI report with the JSON configuration shown in the exhibit. The visual is supposed to display the top 5 product categories by total sales, with all remaining categories grouped into 'Other'. However, the visual shows only the top 5 categories and no 'Other' bar. What is the most likely reason?

A.The JSON version is incorrect; must be 3.0.
B.The 'otherGroup' section lacks a 'showOther' property set to true.
C.The 'sortOrder' should be 'ascending' for 'Other' to appear.
D.The JSON is malformed; missing closing bracket.
AnswerB

The 'otherGroup' requires 'showOther' to display the aggregated 'Other' bar.

Why this answer

Option B is correct because the 'otherGroup' is defined but the aggregation of 'Other' must be enabled in the visual formatting; missing 'showOther' flag. Option A is wrong because JSON version 2.0 is valid. Option C is wrong because sorting does not affect grouping.

Option D is wrong because the format is correct JSON.

379
Multi-Selectmedium

Which THREE are best practices for designing a star schema in Power BI?

Select 3 answers
A.Create a separate date dimension table
B.Create multiple relationships between fact and dimension
C.Use surrogate keys for dimension tables
D.Store measures in fact tables at the lowest grain
E.Use composite keys in fact tables
AnswersA, C, D

Separate date dimension enables time intelligence.

Why this answer

Options A, C, and D are correct. Descriptive keys, separate date dimension, and aggregations at grain are best practices. Option B is wrong because natural keys are preferred when available.

Option E is wrong because multiple relationships complicate the model.

380
MCQeasy

You need to create a KPI visual that shows whether current sales are above or below target. Which fields are required for a KPI visual?

A.Value, Trend axis, and Category
B.Value, Trend axis, and Target
C.Value and Trend axis only
D.Value and Target only
AnswerB

These three fields are essential for a KPI visual.

Why this answer

A KPI visual requires a Value (measure for current sales), a Trend axis (usually date), and a Target (goal).

381
MCQhard

You are reviewing the DAX expression above. The DateTable is supposed to have a continuous date range from 2020 to 2025. However, when you use the Year column in a slicer, the data shows only 2024 values. What is the most likely cause?

A.The ADDCOLUMNS function is not supported.
B.The DAX syntax for CALENDAR is incorrect.
C.The DateTable is not related to the fact table.
D.The DateTable has too many rows.
AnswerC

Without a relationship, the slicer shows only dates present in both tables.

Why this answer

Option C is correct because the slicer showing only 2024 values indicates that the DateTable is not related to the fact table. Without an active relationship, the slicer on the Year column cannot filter the fact table, so it defaults to showing only the current year (2024) or the first year in the DateTable. A proper relationship (e.g., one-to-many from DateTable[Date] to FactTable[Date]) is required for cross-filtering to work.

Exam trap

The trap here is that candidates often assume a slicer showing only one year is due to a data or syntax error, rather than recognizing it as a classic symptom of a missing or broken relationship between the date table and the fact table.

How to eliminate wrong answers

Option A is wrong because ADDCOLUMNS is a fully supported DAX function that adds calculated columns to a table; it is not the cause of a slicer showing only one year. Option B is wrong because the CALENDAR function syntax is correct (e.g., CALENDAR(DATE(2020,1,1), DATE(2025,12,31))) and would generate a continuous date range; syntax errors would prevent the table from being created entirely, not cause partial data display. Option D is wrong because having too many rows (e.g., from 2020 to 2025) would not cause the slicer to show only 2024; it would show all years in the range.

382
MCQmedium

You have a Power BI report that uses a DirectQuery connection to a large SQL Server data warehouse. Users report that slicers and filters are slow to respond. What should you recommend to improve performance?

A.Optimize the SQL queries and add appropriate indexes in the data warehouse.
B.Change the connection to a live connection to the data warehouse.
C.Increase the memory allocated to the Power BI service capacity.
D.Switch the report to Import mode and schedule refreshes.
AnswerA

Optimizing the source query improves performance for DirectQuery.

Why this answer

Option A is correct because optimizing the source query with indexes, aggregations, and reducing data volume improves DirectQuery performance. Option B is wrong because Import mode would require moving large data and may not be feasible. Option C is wrong because increasing RAM does not affect DirectQuery performance.

Option D is wrong because changing to live connection doesn't improve query performance.

383
MCQmedium

You are creating a Power BI report to visualize customer feedback scores. The data contains a column 'FeedbackDate' with dates and a column 'Score' with values from 1 to 10. You want to show a trend line of average score over time. Which visual type is most appropriate?

A.Pie chart
B.Card
C.Table
D.Line chart
AnswerD

Line charts are best for time series trends.

Why this answer

Option C is correct because a line chart is ideal for showing trends over time. Option A is wrong because a pie chart shows proportions. Option B is wrong because a table shows raw data.

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

384
MCQeasy

You are merging two tables in Power Query: 'Orders' and 'Customers'. You want to include only rows from Orders that have a matching CustomerID in Customers. Which join kind should you use?

A.Inner join
B.Full Outer join
C.Right Outer join
D.Left Outer join
AnswerA

Returns only matching rows.

Why this answer

An inner join in Power Query returns only rows from both tables where there is a match on the join key. Since you want to include only rows from Orders that have a matching CustomerID in Customers, the inner join is the correct choice. It filters out any Orders rows without a corresponding CustomerID in the Customers table.

Exam trap

The trap here is that candidates often confuse left outer join (which keeps all rows from the first table) with inner join, mistakenly thinking they need to preserve all Orders rows, but the question explicitly requires only matching rows.

How to eliminate wrong answers

Option B (Full Outer join) is wrong because it returns all rows from both tables, including rows without matches, which would include Orders rows with no matching CustomerID. Option C (Right Outer join) is wrong because it returns all rows from Customers and only matching rows from Orders, which would include Customers rows without matching Orders, not the desired behavior. Option D (Left Outer join) is wrong because it returns all rows from Orders and only matching rows from Customers, which would include Orders rows with no matching CustomerID, contrary to the requirement.

385
MCQeasy

Refer to the exhibit. You have a Power BI dataset with the JSON policy shown. You add a user to the USOnly role. What happens when that user views a report based on this dataset?

A.The user sees all rows in the Sales table.
B.The user sees only rows where Region is 'US' in the Sales table.
C.The user sees all rows but the SalesAmount column is hidden.
D.The user sees all rows in all tables of the dataset.
AnswerB

The role filters by Region='US'.

Why this answer

Option B is correct because row-level security (RLS) restricts data: only rows where Region is 'US' are visible. Option A is wrong because RLS does not hide the entire table. Option C is wrong because RLS does not affect columns.

Option D is wrong because RLS does not affect other tables unless defined.

386
MCQmedium

You are building a Power BI data model from an Azure SQL Database. The source table contains a column 'OrderDate' of type datetime. You want to create a date table in Power Query that includes all dates from the minimum to maximum OrderDate. Which M function should you use to generate the list of dates?

A.List.Dates
B.List.Generate
C.List.DateTimes
D.List.Range
AnswerA

List.Dates(start, count, #duration(1,0,0,0)) generates a list of consecutive dates.

Why this answer

Option A is correct because `List.Dates` generates a list of sequential dates (type `date`) given a start date, a count of values, and a step duration. In Power Query, when you need a date table covering the range from the minimum to maximum `OrderDate`, you compute the count as `Duration.Days(MaxDate - MinDate) + 1` and use `List.Dates(MinDate, Count, #duration(1,0,0,0))`. This produces a clean list of dates without time components, ideal for a date dimension.

Exam trap

The trap here is that candidates confuse `List.DateTimes` (which includes time) with `List.Dates` (date only), or they overcomplicate the solution by choosing `List.Generate` when a simpler, purpose-built function exists.

How to eliminate wrong answers

Option B is wrong because `List.Generate` is a general-purpose generator that requires a custom loop function with initial, condition, next, and optional transform parameters; it is overly complex and not the direct function for generating a simple sequence of dates. Option C is wrong because `List.DateTimes` generates a list of datetime values (including time components), not just dates, which would introduce unnecessary time granularity and potential performance overhead for a date table. Option D is wrong because `List.Range` extracts a contiguous subset from an existing list; it does not generate a new list of dates from scratch.

387
MCQhard

You are designing a data model for a financial analysis report. The source data includes a 'Budget' table with columns: Department, Account, Month, and BudgetAmount. The 'Actuals' table has the same structure. You need to create a combined measure that shows the variance (Actual - Budget) for each Department and Account. What is the best approach?

A.Create separate dimension tables for Department and Account, and create fact tables for Budget and Actuals with relationships
B.Create a single table by merging Budget and Actuals on Department, Account, and Month
C.Create a calculated table using SUMMARIZE and then use DAX measures
D.Use Power Query to append Budget and Actuals with a 'Type' column
AnswerA

This star schema design allows easy comparison using measures across fact tables.

Why this answer

Option B is correct because using a star schema with separate dimension tables for Department and Account and a fact table with both Actual and Budget amounts (or two fact tables) allows easy comparison. Option A is wrong because merging into one table denormalizes. Option C is wrong because it does not use proper dimensions.

Option D is wrong because using only DAX without relationships is not scalable.

388
MCQmedium

Refer to the exhibit. You are troubleshooting an RLS configuration. The role 'SalesManager' is intended to restrict the user 'salesmanager@contoso.com' to see only their data. However, the user sees all data. What is the most likely issue?

A.The filter expression should be '= "salesmanager@contoso.com"' without USERPRINCIPALNAME().
B.The filter expression compares the user's UPN to a static string, but there is no column in the table to filter against.
C.The dataset is using DirectQuery, which does not support RLS.
D.The model permission should be 'ReadAndExplore' instead of 'Read'.
AnswerB

RLS filters typically filter a column, not the user identity itself.

Why this answer

Option C is correct because USERPRINCIPALNAME() returns the user's UPN, but the filter expression compares it to a specific email address. For RLS to work, the filter should use a column that contains the user's UPN, or use a different function. Option A is wrong because the permission is correct.

Option B is wrong because the filter expression should evaluate to a Boolean. Option D is wrong because RLS works with imported data.

389
MCQmedium

You are loading data into Power BI. The above Power Query script connects to a SQL Server database and loads aggregated sales by customer. However, the report requires the ability to drill down to individual transactions for a selected customer. What is the best approach to meet this requirement without losing the performance benefit of aggregation?

A.Remove the Grouped step and add a measure to aggregate at query time
B.Modify the filter date to include all years
C.Remove the Grouped step and import all transactions
D.Use a composite model with a DirectQuery connection to the source for detail data
AnswerD

Allows drill-through to details while keeping aggregation for performance.

Why this answer

Use a composite model: import the aggregated table for high-level queries and use DirectQuery for the full detail table when drilling down. Option D is correct. Option A is wrong because it loses performance.

Option B is wrong because the script filters out data before 2023. Option C is wrong because the script groups data, removing transaction details.

390
MCQhard

You are designing a data model for a retail company. The source system has a Sales table with columns: Date, StoreID, ProductID, SalesAmount. You need to create a date dimension table that includes all dates from the Sales table. Which DAX expression should you use to create the date table?

A.DateTable = VALUES(Sales[Date])
B.DateTable = CALENDAR(MIN(Sales[Date]), MAX(Sales[Date]))
C.DateTable = CALENDARAUTO()
D.DateTable = DISTINCT(Sales[Date])
AnswerC

This automatically creates a date table covering all dates in the model.

Why this answer

Option C is correct because `CALENDARAUTO()` automatically generates a contiguous date table spanning all dates present in the model, including those from the Sales table. This function scans all date columns in the model and returns a single column of dates from the earliest to the latest, which is the simplest way to create a date dimension that covers the full range of transaction dates without needing explicit MIN/MAX references.

Exam trap

The trap here is that candidates often confuse `VALUES` or `DISTINCT` with creating a proper date dimension, not realizing that a date table must be a continuous range of dates, not just the distinct values from a fact table.

How to eliminate wrong answers

Option A is wrong because `VALUES(Sales[Date])` returns only the distinct dates that actually exist in the Sales table, which may have gaps (e.g., weekends or holidays with no sales) and does not create a continuous date table required for time intelligence. Option B is wrong because `CALENDAR(MIN(Sales[Date]), MAX(Sales[Date]))` creates a contiguous date range but requires explicit MIN/MAX references, making it less elegant than `CALENDARAUTO()` and prone to error if the Sales table is filtered or empty. Option D is wrong because `DISTINCT(Sales[Date])` behaves identically to `VALUES` in this context—it returns only the existing dates without filling gaps, so it fails to produce a proper date dimension.

391
Multi-Selectmedium

You are designing a data model for a sales analysis report. The source data includes a table with Sales, Product, Customer, and Date information in a single flat table. You need to transform this into a star schema with separate dimension tables. Which THREE actions should you take?

Select 3 answers
A.Create a Product dimension table by selecting distinct product attributes and assigning a surrogate key.
B.Remove duplicate rows from the Product table and create a relationship to the fact table using a key.
C.Create a Date dimension table from the date column, including date attributes like year, quarter, month.
D.Merge the Customer and Product dimensions into one table to reduce the number of tables.
E.Keep all columns in a single table to avoid relationships.
AnswersA, B, C

Product attributes should be in a separate dimension to avoid redundancy.

Why this answer

Option A is correct because creating a Product dimension table by selecting distinct product attributes and assigning a surrogate key is a fundamental step in building a star schema. This process normalizes the flat table by separating product-related attributes into a dedicated dimension, which reduces redundancy and improves query performance in Power BI. The surrogate key (e.g., an integer identity column) ensures a stable, unique identifier for each product, independent of any changes in the source system's natural keys.

Exam trap

The trap here is that candidates often think merging dimensions or keeping a single flat table simplifies the model, but the PL-300 exam specifically tests the requirement to normalize into a star schema for optimal performance and maintainability.

392
MCQmedium

You have a Power BI semantic model that imports sales data from Azure SQL Database. The model includes a date table and a fact table with a column 'SalesAmount'. You need to create a measure that calculates the total sales amount only for the last 30 days relative to the report date. Which DAX expression should you use?

A.TOTALMTD(SUM(Sales[SalesAmount]), 'Date'[Date])
B.CALCULATE(SUM(Sales[SalesAmount]), DATESINPERIOD('Date'[Date], TODAY(), -30, DAY))
C.SUMX(FILTER(Sales, Sales[Date] >= TODAY()-30), Sales[SalesAmount])
D.CALCULATE(SUM(Sales[SalesAmount]), DATESBETWEEN('Date'[Date], TODAY()-30, TODAY()))
AnswerD

Correctly filters the date range to the last 30 days.

Why this answer

Option B is correct because TOTALMTD is a time intelligence function that calculates month-to-date, not last 30 days. Option A uses DATESBETWEEN with a fixed range of 30 days from today, which matches the requirement. Option C returns the first 30 days of the current month.

Option D sums all sales in the last 30 days but does not filter by date.

393
MCQhard

A Power BI dataset uses DirectQuery to a Snowflake data warehouse. Users report that the report takes more than 5 minutes to load. The dataset has complex DAX measures. The admin wants to improve performance without changing the data source. Which action is most effective?

A.Create aggregations in the dataset.
B.Switch the dataset to Import mode and schedule refresh.
C.Reduce the number of visuals and simplify measures.
D.Increase the Power BI Premium capacity size.
AnswerC

Fewer visuals and simpler DAX reduce the number of queries sent to Snowflake.

Why this answer

Option B is correct because reducing the number of visuals and simplifying measures can significantly reduce query time. Option A is wrong because Import mode would change the source architecture. Option C is wrong because aggregations help but building them requires changes.

Option D is wrong because increasing capacity does not optimize query performance.

394
MCQhard

Your organization uses Power BI and has deployed Microsoft Purview Data Loss Prevention (DLP) policies. You want to prevent users from exporting data from Power BI reports that contain credit card numbers. What should you configure?

A.Configure row-level security (RLS) to hide the credit card column from users.
B.Create a DLP policy in Microsoft Purview that detects credit card numbers in Power BI and set the action to block export.
C.Apply a Microsoft Purview sensitivity label 'Highly Confidential' to the dataset and configure the label to prevent export.
D.Disable the 'Export to Excel' and 'Export to CSV' settings in the Power BI admin portal.
AnswerB

DLP policies can block export when sensitive data is detected.

Why this answer

Option D is correct because DLP policies in Power BI can be applied to datasets and reports, and they can block export of data that matches sensitive info types like credit card numbers. Option A is wrong because sensitivity labels alone do not block export. Option B is wrong because RLS restricts data visibility, not export.

Option C is wrong because tenant settings control general export capabilities but not based on content.

395
Multi-Selectmedium

You are designing a Power BI dashboard for executive management. Which TWO practices should you follow to ensure the dashboard is effective?

Select 2 answers
A.Configure real-time data refresh for all data sources.
B.Include as many visuals as possible on a single dashboard page.
C.Use a dark background to make visuals stand out.
D.Use consistent color coding across visuals.
E.Limit the dashboard to the most important KPIs.
AnswersD, E

Consistent colors improve readability.

Why this answer

Options A and D are correct. A: Using consistent color coding helps users quickly interpret data. D: Including key KPIs focuses on what matters.

Option B is wrong because too many visuals clutter the dashboard. Option C is wrong because real-time refresh may not be necessary and can impact performance.

396
MCQmedium

You have a Power BI model that includes a table 'Orders' with columns: OrderID, CustomerID, OrderDate, and TotalAmount. You have a 'Customers' table with columns: CustomerID, CustomerName, and Country. You need to create a measure that calculates the total sales amount for customers who have placed orders in the last 30 days. Which DAX measure should you use?

A.SUMX(FILTER(Orders, Orders[OrderDate] >= TODAY() - 30), Orders[TotalAmount])
B.CALCULATE(SUM(Orders[TotalAmount]), Orders[OrderDate] >= TODAY() - 30)
C.CALCULATE(SUM(Orders[TotalAmount]), FILTER(Customers, Customers[CustomerID] IN VALUES(Orders[CustomerID]) && Orders[OrderDate] >= TODAY() - 30))
D.CALCULATE(SUM(Orders[TotalAmount]), ALL(Orders), Orders[OrderDate] >= TODAY() - 30)
AnswerB

Correctly filters orders within the last 30 days and sums the amount.

Why this answer

Option A is correct because it uses CALCULATE with a filter on Orders table for the last 30 days. Option B is wrong because it filters Customers table, not Orders. Option C is wrong because it uses SUMX unnecessarily.

Option D is wrong because it uses ALL, which removes filters incorrectly.

397
MCQhard

You are reviewing the relationships in a Power BI data model as shown in the exhibit. The model has tables: Sales, Product, Customer, and Category. You need to evaluate the performance impact of the current configuration. Which relationship is most likely to cause performance issues?

A.All relationships are equally efficient
B.The relationship between Sales and Customer
C.The relationship between Product and Category
D.The relationship between Sales and Product
AnswerC

Bidirectional filtering can lead to performance degradation and unintended filter propagation.

Why this answer

The relationship between Product and Category is most likely to cause performance issues because it is a many-to-many relationship without a bridge table. In Power BI, many-to-many relationships require the engine to materialize cross-join-like intermediate tables in memory, increasing query complexity and reducing performance. This is especially problematic when filtering or aggregating across these tables, as the VertiPaq engine must resolve ambiguity by creating additional internal tables.

Exam trap

The trap here is that candidates often assume all relationships are equally performant if they are correctly defined, overlooking that many-to-many cardinality inherently requires more complex processing than one-to-many relationships.

How to eliminate wrong answers

Option A is wrong because not all relationships are equally efficient; many-to-many relationships are significantly more resource-intensive than one-to-many relationships. Option B is wrong because the relationship between Sales and Customer is typically a standard one-to-many relationship (many sales per customer), which is the most efficient cardinality for star schema design and does not cause inherent performance issues. Option D is wrong because the relationship between Sales and Product is also a standard one-to-many relationship (many sales per product), which is optimized by the VertiPaq engine and does not introduce the cross-join overhead seen in many-to-many relationships.

398
MCQhard

You are modeling data in Power BI that includes a table named SurveyResponses with columns: ResponseID, QuestionID, RespondentID, and AnswerText. Each respondent answers multiple questions. You need to create a measure that counts the number of unique respondents who answered a specific question. Which DAX measure should you use?

A.DISTINCTCOUNT(SurveyResponses[RespondentID])
B.COUNT(SurveyResponses[RespondentID])
C.COUNTROWS(SurveyResponses)
D.COUNTA(SurveyResponses[RespondentID])
AnswerA

DISTINCTCOUNT returns the count of unique values in the column.

Why this answer

Option A is correct because DISTINCTCOUNT(SurveyResponses[RespondentID]) counts the number of unique RespondentID values in the table, which directly gives the count of unique respondents who answered a specific question when used in a filter context (e.g., with a slicer or visual grouping by QuestionID). This is the standard DAX pattern for counting distinct entities in a column.

Exam trap

The trap here is that candidates often confuse COUNTROWS (which counts all rows) with DISTINCTCOUNT (which counts unique values), or they assume COUNT or COUNTA will automatically deduplicate, leading them to pick a wrong option that counts total responses instead of unique respondents.

How to eliminate wrong answers

Option B is wrong because COUNT(SurveyResponses[RespondentID]) counts only non-blank numeric values in the column; RespondentID is likely text or an ID, and COUNT ignores non-numeric values, returning 0 or an error. Option C is wrong because COUNTROWS(SurveyResponses) counts all rows in the table, including multiple responses per respondent, so it does not yield a unique respondent count. Option D is wrong because COUNTA(SurveyResponses[RespondentID]) counts all non-blank values in the column, including duplicates, so it counts each response row rather than unique respondents.

399
MCQmedium

You have a DAX measure that sums the Amount column for rows where Quantity is greater than 10. The Sales table has 10 million rows. What is a potential performance issue with this measure?

A.The SUMX iterator can be slow on large tables; consider using CALCULATE instead
B.The FILTER function will cause a full table scan each time the measure is evaluated
C.The measure uses context transition which can cause performance issues
D.The measure uses a complex condition that cannot be optimized
AnswerA

CALCULATE with a filter is often more efficient than SUMX for simple aggregations.

Why this answer

Option D is correct because SUMX iterates over each row in the filtered table, which can be slow for large tables. It is generally more efficient to use CALCULATE with a filter argument. Option A is wrong because the FILTER function does not inherently cause table scans; it creates a filtered table.

Option B is wrong because the measure uses a simple condition, not complex. Option C is wrong because the measure is not context-based in a way that would cause issues.

400
MCQhard

Refer to the exhibit. A Power BI dataset has the scheduled refresh configuration shown in the JSON. The refresh fails on Monday, March 2, 2026. Who will be notified?

A.All workspace admins.
B.The dataset owner.
C.The Power BI tenant admin.
D.All users with access to the dataset.
AnswerB

MailOnFailure sends an email to the dataset owner.

Why this answer

Option B is correct. The 'notifyOption' is set to 'MailOnFailure', which sends a notification to the dataset owner when a refresh fails. Option A is wrong because the failure is on a scheduled day, but the notification is not sent to workspace admins.

Option C is wrong because the tenant admin is not automatically notified. Option D is wrong because the notification is sent to the owner, not to all users.

401
MCQeasy

You are modeling data from a source that includes a column 'FullName' (e.g., 'John Doe'). You want to create separate 'FirstName' and 'LastName' columns for analysis. What is the most efficient way?

A.Create calculated columns using DAX functions LEFT, RIGHT, and FIND.
B.Use the 'Replace Values' feature to manually separate names.
C.Use Excel formulas in a source query.
D.In Power Query, split the column by delimiter (space) into two columns.
AnswerD

Power Query provides a built-in split function.

Why this answer

Option D is correct because splitting a column by delimiter in Power Query is the most efficient, native method for transforming data at the query level. It leverages Power Query's M language to perform the split in a single step, which is optimized for performance and can be refreshed automatically. This approach avoids the overhead of DAX calculated columns, which are computed in the storage engine and can slow down report rendering.

Exam trap

The trap here is that candidates often choose DAX calculated columns (Option A) because they are familiar with Excel-like formulas, but they overlook that Power Query is the correct tool for data transformation in Power BI, and DAX should be reserved for measures and calculated columns that depend on the data model's context.

How to eliminate wrong answers

Option A is wrong because creating calculated columns with DAX functions like LEFT, RIGHT, and FIND is inefficient; DAX calculated columns are evaluated row-by-row in the VertiPaq engine, consuming memory and CPU, and they cannot be used to directly split a string by a delimiter without complex nested functions. Option B is wrong because 'Replace Values' is designed for substituting specific text, not for splitting a column into multiple columns; it would require multiple manual steps and cannot dynamically handle variable-length names. Option C is wrong because using Excel formulas in a source query ties the transformation to an external application, breaking the self-service, refreshable nature of Power BI; it also introduces dependency on Excel's calculation engine, which is not part of the Power Query or DAX ecosystem.

402
MCQhard

You have a Power BI report that uses a DirectQuery dataset from Azure Synapse Analytics. Users complain that applying a filter on a date slicer takes over 30 seconds. The underlying table contains 500 million rows. You need to improve slicer responsiveness. What should you do?

A.Disable cross-filtering between the slicer and other visuals.
B.Add more visuals to the page so the slicer filter is reused across visuals.
C.Create a date dimension table in the source and use it for the slicer.
D.Import the date column into Power BI and use it for the slicer.
AnswerC

A date dimension reduces cardinality and improves DirectQuery slicer performance.

Why this answer

Option B is correct because creating a date dimension table and using it for the slicer reduces the cardinality of the filter column, improving DirectQuery performance. Option A is wrong because increasing the page's visual count would add more queries. Option C is wrong because importing the date table would create a hybrid model, but the slicer on the imported table would still need to filter the DirectQuery table, which may cause performance issues.

Option D is wrong because disabling cross-filtering doesn't address the root cause.

403
MCQmedium

You have a report with a line chart showing monthly sales. Users need to see the exact sales value when they hover over a data point. What should you configure?

A.Enable data labels on the chart.
B.Configure the visual's tooltip to display the value.
C.Add a report page tooltip.
D.Set the category label to show the value.
AnswerB

The default tooltip already shows the value; if it's not showing, ensure the tooltip is enabled.

Why this answer

Option B is correct because tooltips in Power BI are designed to show detailed information about a data point when the user hovers over it. By default, the visual's tooltip already includes the value, but if it has been customized or removed, you need to ensure the tooltip is configured to display the sales value. This provides an interactive way to see exact numbers without cluttering the chart with permanent labels.

Exam trap

The trap here is that candidates often confuse data labels (which show values permanently on the chart) with tooltips (which show values on hover), leading them to select option A instead of understanding that tooltips are the correct interactive mechanism for this requirement.

How to eliminate wrong answers

Option A is wrong because enabling data labels permanently displays the sales value on the chart for every data point, which can clutter the visual and is not the hover-based behavior requested. Option C is wrong because a report page tooltip is a custom tooltip that can show additional context from other visuals or pages, but it is not required for simply showing the exact sales value; the default visual tooltip already serves that purpose. Option D is wrong because the category label shows the category name (e.g., month), not the sales value, and setting it to show the value would misrepresent the axis.

404
MCQeasy

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

A.DATEADD
B.DATESYTD
C.SAMEPERIODLASTYEAR
D.PARALLELPERIOD
AnswerC

This function returns the same period in the prior year, ideal for YoY.

Why this answer

The SAMEPERIODLASTYEAR function returns a set of dates shifted one year back in time, which is exactly what you need to compare current period values with the prior year for year-over-year growth calculations. By using SAMEPERIODLASTYEAR in a measure like `DIVIDE(SUM(Sales[Amount]) - CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date])), CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date])))`, you get the percentage change. This function is specifically designed for year-over-year comparisons and works correctly with contiguous date ranges.

Exam trap

The trap here is that candidates often choose DATEADD or PARALLELPERIOD because they seem more flexible, but SAMEPERIODLASTYEAR is the only function that guarantees a direct, contiguous year-over-year comparison without requiring manual interval specification or risking misaligned periods.

How to eliminate wrong answers

Option A is wrong because DATEADD shifts dates by a specified interval (e.g., -1 year) but returns a single column of dates, not a contiguous period, and can produce unexpected results when used with non-standard calendars or incomplete date ranges. Option B is wrong because DATESYTD returns a set of dates from the start of the year to the latest date in the current context, which is used for year-to-date calculations, not for comparing against the prior year. Option D is wrong because PARALLELPERIOD shifts an entire period (e.g., the whole previous year) but does not align to the same relative period as SAMEPERIODLASTYEAR; it can include partial periods or incorrect boundaries when the date range is not full.

405
MCQmedium

You are a Power BI administrator. A user in your organization wants to share a report with an external user who does not have a Power BI license. You want to allow the external user to view the report without requiring them to sign in. What should you do?

A.Create a new user account in your Microsoft Entra ID for the external user and assign a Power BI Pro license.
B.Share the report directly with the external user's email address.
C.Invite the external user as a guest in Microsoft Entra ID, then share the report.
D.Use the 'Publish to web' option to generate an embed code and send the link to the external user.
AnswerD

Publish to web makes the report publicly accessible without sign-in.

Why this answer

Option C is correct because 'Publish to web' creates a public embed code that anyone can view without authentication. Option A is wrong because sharing directly requires the external user to have a Power BI license or be a guest. Option B is wrong because the external user must authenticate as a guest.

Option D is wrong because the external user would need a license to access the Power BI service.

406
Multi-Selecthard

Which THREE settings should you verify in the Power BI tenant admin portal to ensure that external users (guests) can access a published app?

Select 3 answers
A.Invite external users to your organization via Microsoft Entra ID.
B.Allow sharing with external users.
C.Allow Azure Active Directory (Microsoft Entra ID) external identities to access the Power BI service.
D.Show external users in lists of suggested people.
E.Allow external users to edit and manage content in the organization.
AnswersA, C, E

Correct. This must be enabled to add guest users.

Why this answer

Options A, C, and D are correct. 'Invite external users to your organization' must be enabled. 'Allow external users to edit and manage content in the organization' allows guest contributions. 'Allow Azure Active Directory (Microsoft Entra ID) external identities to access the Power BI service' enables guest access. Option B is wrong because sharing with external users is a separate setting, but not specifically for app access. Option E is wrong because that setting controls whether external users can see other external users.

407
MCQeasy

You are a Power BI report creator. You have a dataset that includes a date table and a sales table. The date table has a column 'FiscalYear' (e.g., 'FY2025'). The sales table has a column 'OrderDate'. You need to create a relationship between the date table and the sales table based on the fiscal year. However, the date table has one row per fiscal year, and the sales table has multiple rows per fiscal year. You want to filter sales by fiscal year. What is the correct approach to model this?

A.Add a calculated column in Sales to extract fiscal year from OrderDate and use that for filtering without a relationship.
B.Merge the Date table into the Sales table in Power Query.
C.Create a one-to-many relationship from Date[FiscalYear] to Sales[FiscalYear] (assuming Sales table has FiscalYear).
D.Create a many-to-many relationship between Date and Sales using a bridge table.
AnswerC

Standard star schema approach.

Why this answer

Option C is correct because it establishes a standard one-to-many relationship between the Date table (with one row per fiscal year) and the Sales table (with multiple rows per fiscal year) using a common FiscalYear column. This allows Power BI to filter sales by fiscal year through the relationship, leveraging the date table as a filter dimension. The relationship must be based on a column in the Sales table that contains the fiscal year for each order, which can be added as a calculated column if not already present.

Exam trap

The trap here is that candidates may think a many-to-many relationship or a bridge table is needed when the date table has one row per fiscal year and the sales table has multiple rows, but the correct modeling approach is a simple one-to-many relationship based on a common fiscal year column in both tables.

How to eliminate wrong answers

Option A is wrong because adding a calculated column in Sales to extract fiscal year without creating a relationship means you cannot use the Date table as a filter; you would have to filter directly on the Sales table, losing the benefits of a star schema and the ability to use date table hierarchies. Option B is wrong because merging the Date table into the Sales table in Power Query would denormalize the data, creating a single flat table that violates star schema principles, increases data duplication, and makes time intelligence calculations difficult. Option D is wrong because a many-to-many relationship using a bridge table is unnecessary and overly complex for this scenario; the cardinality is clearly one-to-many (one fiscal year in Date to many orders in Sales), and a bridge table would introduce ambiguity and performance overhead without any benefit.

408
MCQeasy

You are importing data from a CSV file that contains a column 'OrderDate' with dates in the format 'MM/dd/yyyy'. Some rows have invalid dates like '02/30/2023'. What is the best way to handle these errors in Power Query?

A.Use 'Replace Errors' to replace error values with null.
B.Remove rows with errors using 'Remove Rows' > 'Remove Errors'.
C.Change the data type to 'Date' and ignore errors.
D.Filter the column to exclude rows where the date is invalid after type conversion.
AnswerA

This keeps the row and sets the invalid date to null, which can be handled later in the model.

Why this answer

Option A is correct because 'Replace Errors' in Power Query allows you to replace error values (which occur when Power Query fails to convert an invalid date like '02/30/2023' to the Date type) with null. This preserves the rest of the data and keeps the query running without interruption, while clearly marking invalid entries for later handling or analysis.

Exam trap

The trap here is that candidates often choose 'Remove Errors' (Option B) thinking it cleans the data, but they overlook that it deletes entire rows, which may discard valid data in other columns — a common mistake in data preparation scenarios.

How to eliminate wrong answers

Option B is wrong because 'Remove Errors' deletes entire rows containing any error, which can lead to data loss if other columns in those rows contain valid data. Option C is wrong because 'Change data type to Date and ignore errors' is not a valid Power Query operation; ignoring errors during type conversion still results in errors in the column, and there is no built-in 'ignore errors' toggle. Option D is wrong because filtering to exclude rows with invalid dates after type conversion requires the errors to be present first, and filtering on error values is not straightforward; it is more efficient to replace errors with null and then filter if needed.

409
MCQeasy

You are modeling a fact table that contains sales transactions with columns: OrderDate, ShipDate, SalesAmount, CustomerKey. You need to create a relationship to a date table. The date table has a single Date column. Which relationship should you create for the most accurate time-based analysis?

A.Create a single relationship from OrderDate to Date and ignore ShipDate.
B.Create two active relationships: OrderDate to Date and ShipDate to Date.
C.Create an active relationship from OrderDate to Date and an inactive relationship from ShipDate to Date.
D.Create only one relationship from ShipDate to Date.
AnswerC

This allows using USERELATIONSHIP for ship date analysis.

Why this answer

Option C is correct because you should create an active relationship from OrderDate to Date for standard reporting, and an inactive relationship from ShipDate to Date that can be activated using USERELATIONSHIP. Option A would have multiple active relationships causing ambiguity. Option B is not recommended as it omits an important date.

Option D is incorrect because you can have multiple relationships, one active and others inactive.

410
MCQeasy

You need to create a Power BI report that allows users to select a single measure from a list to display on a card visual. Which feature should you use?

A.Bookmarks
B.Tooltips
C.Field parameters
D.Drill-through
AnswerC

Correct. Field parameters enable dynamic measure selection.

Why this answer

Option A is correct because field parameters allow users to dynamically switch between measures. Option B is wrong because bookmarks capture a snapshot, not dynamic selection. Option C is wrong because drill-through filters to a detail page.

Option D is wrong because tooltips show additional information on hover.

411
MCQhard

You have a Power BI dataset with a fact table containing sales transactions and a dimension table for customers. The customer dimension includes a calculated column that uses the LOOKUPVALUE function to retrieve a customer's region from another table. The report performance is slow. What should you do to improve performance?

A.Disable the 'Reduce queries sent to the source' option.
B.Enable incremental refresh on the fact table.
C.Remove the LOOKUPVALUE column and instead create a relationship between the tables.
D.Increase the amount of RAM on the Power BI service capacity.
AnswerC

Relationships are more efficient than LOOKUPVALUE for retrieving related values.

Why this answer

Option D is correct because replacing LOOKUPVALUE with a relationship-based approach (e.g., using RELATED) or merging tables in Power Query is more efficient. Option A is wrong because increasing RAM does not address the inefficiency of LOOKUPVALUE. Option B is wrong because disabling the query reduction setting would degrade performance.

Option C is wrong because incremental refresh applies to the fact table, not to calculated columns.

412
MCQhard

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

A.Row-level security (RLS) is misconfigured.
B.The on-premises data gateway is offline.
C.The dataset exceeds the refresh limit for the assigned capacity.
D.The OAuth2 token used for the data source credentials has expired.
AnswerD

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

Why this answer

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

Option D is wrong because RLS does not affect refresh functionality.

413
MCQhard

You have a Power BI data model that uses a DirectQuery connection to a SQL Server database. The model contains a fact table 'OrderDetails' with 50 million rows and a dimension table 'Products' with 10,000 rows. You need to create a measure that calculates the average order quantity per product. What is the best approach to optimize performance?

A.Use CALCULATE with a filter on the Products table
B.Create a calculated column in the Products table that sums the quantity
C.Use AVERAGEX over the Products table and sum the quantity for each product
D.Create a summarized table in the source database and import it
AnswerC

AVERAGEX iterates over products (10,000 rows) rather than order details (50 million rows).

Why this answer

Option C is correct because using AVERAGEX with the Products table reduces the number of rows processed; it calculates the average per product, which is more efficient than iterating over millions of rows. Option A is wrong because CALCULATE with FILTER on the fact table can be slow. Option B is wrong because calculated columns in DirectQuery are evaluated row by row and can degrade performance.

Option D is wrong because creating an aggregated table in the source is not always feasible and adds complexity.

414
MCQeasy

A data model contains a Date table and a Sales table. You need to create a measure that calculates total sales for the previous year. Which DAX function should you use?

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

SAMEPERIODLASTYEAR returns a set of dates in the previous year corresponding to the current selection.

Why this answer

Option B is correct because SAMEPERIODLASTYEAR returns a set of dates shifted back one year. Option A (DATEADD) can also be used but is more general. Option C (PREVIOUSYEAR) is not a valid DAX function.

Option D (PARALLELPERIOD) returns a parallel period but not necessarily the previous year.

415
MCQhard

You have a star schema with a Sales fact table and a Date dimension. You need to calculate year-to-date sales that reset each fiscal year starting July 1. Which measure is correct?

A.TOTALYTD(SUM(Sales[Amount]), 'Date'[Date])
B.TOTALYTD(SUM(Sales[Amount]), 'Date'[Date], "6-30")
C.TOTALYTD(SUM(Sales[Amount]), 'Date'[Date], ALL('Date'), "6-30")
D.CALCULATE(SUM(Sales[Amount]), DATESYTD('Date'[Date], "6-30"))
AnswerC

TOTALYTD with year-end date "6-30" correctly calculates fiscal YTD starting July 1. The ALL('Date') ensures proper context.

Why this answer

Option D is correct because TOTALYTD allows a custom year-end date. Option A uses standard calendar year. Option B has incorrect syntax.

Option C uses DATESYTD without specifying fiscal year-end.

416
MCQmedium

You are reviewing a DAX query that returns total sales by year and quarter. However, the result includes rows for quarters with no sales. Which modification should you make to exclude empty rows?

A.Add a filter: 'FILTER(ALL('Date'), NOT ISBLANK([Total Sales]))' inside SUMMARIZECOLUMNS
B.No modification is needed; SUMMARIZECOLUMNS already excludes blank rows
C.Replace SUMMARIZECOLUMNS with ADDCOLUMNS(SUMMARIZE(...))
D.Wrap the SUMMARIZECOLUMNS in a NATURALINNERJOIN with Sales table
AnswerA

This explicitly removes rows where Total Sales is blank.

Why this answer

Option C is correct because KEEPFILTERS is not needed; SUMMARIZECOLUMNS by default only returns rows where at least one non-empty measure exists. However, if the measure is defined as a sum, it may return zero for empty combinations. To truly exclude rows where the measure is blank, you can add a filter.

But the exhibit shows an implicit measure that returns blank for empty groups. SUMMARIZECOLUMNS automatically excludes rows where all measure values are blank. Since the measure is a simple SUM, it returns blank for quarters with no sales, so SUMMARIZECOLUMNS will exclude them.

Option A is wrong because NATURALINNERJOIN is not needed. Option B is wrong because ADDCOLUMNS is unnecessary. Option D is wrong because the query already returns correct results.

417
MCQmedium

You are reviewing a Power Query that imports data from SQL Server. The exhibit shows the M code. The SQL query filters records after a date, then Power Query filters rows with OrderQty > 10, and then groups by ProductID. What is a potential performance issue with this approach?

A.The query will fail because the SQL query uses '>' with a string.
B.The SQL query should use a parameter for the date instead of a hardcoded value.
C.The filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred.
D.The grouping should be done in SQL to reduce data volume.
AnswerC

Filtering in SQL reduces data load; currently, all rows after the date are loaded.

Why this answer

Option C is correct because pushing the `OrderQty > 10` filter into the SQL query reduces the amount of data transferred from SQL Server to Power Query. In Power Query, data is loaded into memory before transformations; filtering earlier in the source query minimizes memory usage and network latency, which is a key performance optimization in Power BI data loading.

Exam trap

The trap here is that candidates focus on the date filter or grouping as the main performance issue, but the most impactful optimization is moving the row-level filter (`OrderQty > 10`) into the SQL query to reduce data transfer, which is a classic 'query folding' concept in Power Query.

How to eliminate wrong answers

Option A is wrong because the SQL query uses `'>'` with a string, but SQL Server implicitly converts the string to a date for comparison, so the query will not fail. Option B is wrong while using a parameter is a best practice for maintainability, it does not directly address the performance issue of data volume; the question asks about a potential performance issue, not code quality. Option D is wrong because grouping in SQL could reduce data volume, but the primary performance bottleneck here is the row filter on `OrderQty > 10` being applied after data transfer; grouping after filtering is less impactful than filtering earlier.

418
MCQmedium

You have a report with a map visual showing store locations. You want to display a tooltip with additional store information (e.g., manager name, phone number) when a user hovers over a point. How should you achieve this?

A.Create a card visual next to the map and sync it with the map selection.
B.Add a slicer that displays the details when selected.
C.Set up a drillthrough page for each store.
D.Create a report page tooltip and assign it to the map visual.
AnswerD

Report page tooltips appear on hover and can show multiple fields.

Why this answer

Option D is correct because a report page tooltip allows custom tooltip pages. Option A is wrong because a slicer does not provide tooltips. Option B is wrong because a card visual is separate.

Option C is wrong because drillthrough navigates to another page.

419
MCQhard

You are building a Power BI report that uses a composite model with a DirectQuery source and an imported local table. You want to create a measure that aggregates data from both sources. What must you ensure?

A.The relationships between tables must be defined correctly.
B.You cannot create measures that use columns from both sources.
C.Both tables must be set to the same storage mode (DirectQuery or Import).
D.The local table must be converted to DirectQuery.
AnswerA

Relationships enable cross-source aggregations.

Why this answer

Option B is correct because in composite models, measures can aggregate data from multiple sources if the relationships are correct. Option A is wrong because storage mode does not need to be the same. Option C is wrong because relationships can be between different storage modes.

Option D is wrong because both tables can be used in a measure.

420
MCQmedium

A data analyst is designing a star schema in Power BI. The model includes a table named 'Orders' with columns: OrderID, CustomerID, OrderDate, ProductID, Quantity, and SalesAmount. Which column should NOT be included in the fact table to maintain a proper star schema?

A.Quantity
B.SalesAmount
C.CustomerID
D.OrderID
AnswerC

CustomerID is a foreign key to a dimension table; it should be stored in the fact table to link to the Customer dimension.

Why this answer

In a star schema, fact tables store quantitative, measurable data (measures) and foreign keys to dimension tables. CustomerID is a descriptive attribute that belongs in a Customer dimension table, not in the fact table. Including it in the fact table would violate normalization principles and reduce the model's flexibility for filtering and hierarchy navigation.

Exam trap

The trap here is that candidates often mistake any ID column as a fact table key, but CustomerID is a foreign key that should be moved to a dimension table, whereas OrderID is the fact table's grain key and is correctly placed.

How to eliminate wrong answers

Option A is wrong because Quantity is a numeric, additive measure that is a classic fact column in a sales fact table, representing the number of units sold per transaction. Option B is wrong because SalesAmount is a monetary measure that is the core metric for analysis and belongs in the fact table. Option D is wrong because OrderID is the unique identifier for each transaction row and serves as the fact table's grain key, which is required for proper row-level identification and relationship creation.

421
MCQeasy

You are importing a large dataset from a CSV file using Power Query. The file contains 50 columns, but you only need 10 for your report. What is the most efficient way to reduce the amount of data loaded into the model?

A.Remove the unnecessary columns in Power Query before loading.
B.Load all columns and then hide the unnecessary ones in the report.
C.Use a SQL query to select only the needed columns if the data source supports it.
D.Create a DAX calculated table that selects only the needed columns.
AnswerA

Removing columns early reduces the data volume.

Why this answer

Option A is correct because Power Query processes data before it enters the Power BI model. Removing unnecessary columns at the query stage reduces the amount of data loaded into memory, improving performance and reducing storage. This is the most efficient approach as it minimizes the dataset size from the start, unlike post-load methods that still consume resources.

Exam trap

The trap here is that candidates often confuse 'hiding' columns with actually removing them, or incorrectly assume SQL-like filtering can be applied to flat files, leading them to choose options that still load unnecessary data into memory.

How to eliminate wrong answers

Option B is wrong because loading all 50 columns and hiding them still stores the full dataset in the model, wasting memory and slowing refresh times. Option C is wrong because the question specifies a CSV file, which does not support SQL queries; this option only applies to database sources like SQL Server. Option D is wrong because creating a DAX calculated table still loads the full dataset into the model first, then creates a subset in memory, which is less efficient than filtering at the import stage.

422
MCQhard

After loading the data using the Power Query M code shown in the exhibit, the model contains a table with 10,000 rows. However, when users filter by OrderDate in a report, the filter does not affect the aggregated TotalDue values. What is the most likely reason?

A.The TotalDue column is not a numeric type.
B.The data is pre-aggregated in Power Query, so report-level filters cannot re-aggregate.
C.The dataset is not refreshing properly.
D.The Date table has no relationship to the Sales table.
AnswerB

Pre-grouping in Power Query loses the detail rows; filters cannot re-evaluate aggregates without the underlying data.

Why this answer

Option C is correct because the GROUP BY and aggregation happen in Power Query before loading, so the data is pre-aggregated and static. Filters applied in the report cannot re-aggregate because the underlying detail is lost. Option A is wrong because the Date table relationship is not the issue; the data is already aggregated.

Option B is wrong because the data type is fine. Option D is wrong because the refresh is not related.

423
MCQmedium

You have a Power BI dataset that uses a SQL Server data source. The SQL Server database is located in a different region, causing slow refresh performance. You need to improve the data refresh performance without changing the data source. What should you do?

A.Change the storage mode to DirectQuery to reduce data movement.
B.Increase the scheduled refresh frequency to reduce the amount of data loaded each time.
C.Install an on-premises data gateway to reduce latency.
D.Enable the 'Fast Combine' option in the Power Query privacy settings.
AnswerD

Fast Combine can improve performance by bypassing privacy checks, but may have security implications.

Why this answer

Option D is correct because enabling the 'Fast Combine' option in Power Query privacy settings allows Power BI to ignore privacy levels for data sources, which can significantly improve query performance by enabling more efficient query folding and reducing the overhead of separate data source isolation checks. This is particularly beneficial when dealing with a remote SQL Server database, as it minimizes the number of round trips and data transformations required during refresh.

Exam trap

The trap here is that candidates often confuse 'Fast Combine' with a security or data protection feature, not realizing it is a performance optimization that trades privacy enforcement for faster query folding and reduced data transfer.

How to eliminate wrong answers

Option A is wrong because changing the storage mode to DirectQuery would not improve refresh performance; it would shift query execution to the source database, but the underlying latency from the different region would still affect each query, and DirectQuery is not a refresh optimization. Option B is wrong because increasing the scheduled refresh frequency does not reduce the amount of data loaded each time; it simply runs the same full refresh more often, which could worsen performance by increasing load on the remote database. Option C is wrong because installing an on-premises data gateway is used to connect to on-premises data sources securely, but it does not reduce network latency between regions; the gateway itself adds a hop and does not address the geographic distance to the SQL Server.

424
MCQmedium

You are building a star schema in Power BI. Which table design best supports filtering a sales fact table by product category?

A.Use a single table containing all sales and product attributes.
B.Merge Sales and Product tables into one by appending rows.
C.Create a separate Product dimension table with category, related to Sales by ProductID.
D.Store product category in the Sales fact table.
AnswerC

Star schema design; enables filtering and reduces redundancy.

Why this answer

Option B is correct because in a star schema, dimension tables like Product are separate from fact tables. Relating Product to Sales by a common key (ProductID) enables filtering of sales by category. Option A is wrong because storing category directly in the fact table leads to redundancy and poor performance.

Option C is wrong because a single table with all data is a flat table, not a star schema. Option D is wrong because merging into one table removes the benefits of star schema design.

425
MCQeasy

You are designing a data model that will support self-service analytics. You have a Sales table with over 100 million rows. Which of the following modeling approaches would provide the best query performance while maintaining a user-friendly experience?

A.Design a star schema with a fact table and dimension tables
B.Create a single flat table with all columns
C.Import all tables into a single table using Power Query merge
D.Use a snowflake schema with multiple levels of dimensions
AnswerA

Star schema is optimized for Power BI.

Why this answer

Star schema design separates facts and dimensions, optimizing query performance by reducing table scans and enabling efficient aggregations. Option C is correct. Option A is wrong because a single flat table with many columns can cause performance issues and is harder to maintain.

Option B is wrong because a snowflake schema can increase query complexity and reduce performance due to additional joins. Option D is wrong because importing all tables into a single table duplicates data and loses normalization benefits.

426
Multi-Selectmedium

Which TWO of the following are valid ways to share a Power BI report with external users who do not have a Power BI license?

Select 2 answers
A.Export to PDF and email
B.Embed in a secure portal using Power BI Embedded
C.Share via Power BI service with a direct link
D.Create a Power BI app and grant access
E.Publish to web (public)
AnswersB, E

Embedded allows embedding in custom apps; users don't need individual licenses.

Why this answer

Publish to web makes the report public (no license needed). Embed in a secure portal (using Power BI Embedded) also allows external access without licenses if capacity is used.

427
Drag & Dropmedium

Drag and drop the steps to create a date table in Power BI Desktop using DAX into the correct order.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order

Why this order

Creating a date table involves using the CALENDAR function to generate a continuous range of dates, then marking it as a date table for time intelligence.

428
MCQmedium

You are preparing data for a Power BI report. The source data contains a column 'FullName' with values like 'John Doe'. You need to split this column into 'FirstName' and 'LastName' using Power Query. The transformation should be repeatable and not dependent on the number of spaces. What is the best approach?

A.Use 'Split Column by Number of Characters' with a fixed position.
B.Use 'Split Column by Delimiter' and choose 'Right-most delimiter'.
C.Use 'Replace Values' to replace space with a comma.
D.Use 'Extract Text After Delimiter' with a space.
AnswerB

Splitting by the rightmost space reliably separates last name from the rest, assuming last name is after the last space.

Why this answer

Option B is correct. Splitting by delimiter (space) at the rightmost occurrence reliably separates last name from first name. Option A is wrong because splitting by position is not reliable.

Option C is wrong because Extract after delimiter picks the wrong part. Option D is wrong because Replace values doesn't split.

429
MCQmedium

You are modeling data for a retail company. The source data contains a table 'Transactions' with columns: TransactionID, StoreID, ProductID, Quantity, and SalesAmount. You need to create a star schema in Power BI. What should you do with the TransactionID column?

A.Create a separate dimension table for transactions
B.Keep TransactionID in the fact table
C.Move TransactionID to the Product dimension
D.Remove the TransactionID column to reduce model size
AnswerB

It is a natural key for the fact table and should remain there.

Why this answer

Option D is correct because TransactionID is a unique identifier for each transaction and should be kept in the fact table as a primary key. Option A is wrong because creating a separate dimension for TransactionID is unnecessary and would create a degenerate dimension. Option B is wrong because removing it loses granularity.

Option C is wrong because it is not a dimension attribute.

430
Multi-Selecthard

You have a Power BI report that uses a composite model with a DirectQuery source and an imported table. Users report that some visuals show incorrect totals when using measures that reference both sources. Which THREE conditions must be met to ensure correct results?

Select 3 answers
A.Ensure relationships are defined with appropriate cardinality and cross-filter direction
B.Set both sources to Dual storage mode
C.Use measures that aggregate data at the appropriate granularity
D.Enable 'Reduce queries' in report settings
E.Set 'Assume Referential Integrity' on relationships between sources
AnswersA, C, E

Proper relationships are essential for composite model accuracy.

Why this answer

Options A, D, and E are correct. Setting 'Assume Referential Integrity' (A) allows Power BI to optimize queries. Ensuring compatible relationships (D) is crucial for composite models.

Using measures that aggregate correctly across storage modes (E) is necessary. Option B is incorrect because dual storage mode is not required. Option C is incorrect because query reduction does not fix incorrect totals.

431
Multi-Selectmedium

Which TWO of the following are valid data source types in Power BI that support DirectQuery? (Select TWO.)

Select 2 answers
A.Snowflake
B.Excel workbook
C.Azure Synapse Analytics
D.SharePoint Online List
E.JSON file
AnswersA, C

Snowflake supports DirectQuery.

Why this answer

Snowflake is a cloud-based data warehouse that supports DirectQuery in Power BI, allowing queries to be sent directly to Snowflake without importing data into Power BI's in-memory engine. This is possible because Snowflake provides a SQL-based interface that Power BI can connect to via its native connector, enabling real-time querying of large datasets.

Exam trap

The trap here is that candidates often confuse file-based or list-based data sources (like Excel, JSON, or SharePoint) as being DirectQuery-capable because they can be connected to Power BI, but DirectQuery is strictly limited to relational databases and data warehouses that support live query execution.

432
MCQmedium

Refer to the exhibit. You are configuring row-level security (RLS) for a Power BI dataset. The JSON shows a role named 'RegionManager' with a filter expression. Users assigned to this role complain that they see all regions instead of only 'North'. What is the likely cause?

A.The 'Read' permission should be 'ReadAndExplore' to apply filters.
B.The role name 'RegionManager' is case-sensitive and must match the user's group name.
C.The filter expression is written in M language, which is not supported for RLS.
D.The filter expression uses incorrect DAX syntax; it should reference the table name, e.g., 'Sales[Region] = "North"'.
AnswerD

Table-qualified column names are required.

Why this answer

Option B is correct because the DAX filter expression must reference a column in the correct format; '[Region] = "North"' is incorrect DAX syntax. The correct DAX should be 'Sales[Region] = "North"'. Option A is wrong because the role name is not case-sensitive.

Option C is wrong because the filter expression is a DAX expression, not M. Option D is wrong because the 'Read' permission is correct for viewing data.

433
MCQhard

A Power BI administrator deploys a dashboard that uses a real-time dataset from Azure Stream Analytics. The dashboard must refresh every minute. The administrator notices that the dashboard sometimes shows stale data. What is the most likely cause and solution?

A.The dashboard tile cache is set to the default 30 minutes. Reduce the cache duration to 1 minute in the dataset settings
B.The streaming dataset is not supported for dashboards. Use a push dataset instead
C.Enable automatic page refresh on the dashboard and set it to 1 minute
D.The refresh interval in the dataset is set to 30 minutes. Change it to 1 minute
AnswerA

Dashboard tiles cache data; reducing cache ensures fresh data.

Why this answer

Option A is correct because Power BI has a default dashboard tile cache of 30 minutes for streaming datasets; reducing the cache duration solves the issue. Option B is wrong because the data source is streaming, not push. Option C is wrong because automatic page refresh is for report pages, not dashboard tiles.

Option D is wrong because the issue is cache, not the refresh interval.

434
Multi-Selectmedium

Which TWO actions can help enforce data security in Power BI when using Microsoft Entra ID?

Select 2 answers
A.Apply Conditional Access policies to require multi-factor authentication.
B.Implement row-level security (RLS) in the dataset.
C.Configure sensitivity labels to restrict access to reports.
D.Share reports via direct link with specific users.
E.Use Microsoft Intune app protection policies to prevent data leakage.
AnswersA, B

Correct. Conditional Access can enforce MFA for Power BI.

Why this answer

Options A and D are correct. Conditional Access policies can enforce MFA. RLS restricts data access at the row level.

Option B is wrong because app management policies are for app governance, not direct security. Option C is wrong because sensitivity labels classify data but do not enforce access. Option E is wrong because sharing via link is a distribution method, not security.

435
Multi-Selectmedium

You need to restrict access to a Power BI report that contains sensitive financial data. The report is published to a workspace. Which THREE actions can you take to control access? (Choose three.)

Select 3 answers
A.Disable the 'Export to Excel' setting for the report.
B.Apply a sensitivity label that restricts access to the report.
C.Implement row-level security (RLS) to filter data based on user identity.
D.Share the report directly with the users.
E.Assign users to the workspace with Viewer role.
AnswersC, D, E

RLS can restrict which data rows each user sees.

Why this answer

Options A, C, and D are correct. Assigning workspace roles controls who can view content in the workspace. Sharing the report with specific users allows granular access.

Row-level security (RLS) can filter data per user. Option B is wrong because sensitivity labels do not control access; they classify data. Option E is wrong because the 'Export to Excel' setting controls export, not access.

436
MCQeasy

Refer to the exhibit. The Power BI admin settings are shown. A user reports that they cannot share a dashboard with an external partner. What is the most likely reason?

A.The 'exportDataEnabled' setting is disabled.
B.The 'publishToWebEnabled' setting is disabled.
C.The 'workspaceCreationEnabled' setting is disabled.
D.The 'externalSharingEnabled' setting is disabled.
AnswerD

This setting directly controls sharing with external users.

Why this answer

Option B is correct because the setting 'externalSharingEnabled' is set to false, which prevents users from sharing content with external users. Option A is wrong because 'workspaceCreationEnabled' is true, allowing workspace creation. Option C is wrong because 'exportDataEnabled' is true.

Option D is wrong because 'publishToWebEnabled' is true and unrelated to sharing.

437
Multi-Selectmedium

Which TWO of the following are best practices for designing a star schema in Power BI?

Select 2 answers
A.Dimension tables should have a primary key and descriptive columns.
B.Fact tables should contain calculated columns for business logic.
C.Fact tables should have foreign keys that relate to dimension tables.
D.Merge all tables into a single flat table for simplicity.
E.Use many-to-many relationships between fact and dimension tables.
AnswersA, C

This is a basic star schema design principle.

Why this answer

Option A is correct because dimension tables in a star schema are designed to store descriptive attributes (e.g., product name, category) and must have a primary key column that uniquely identifies each row. This primary key is referenced by foreign keys in fact tables, enabling efficient filtering and slicing in Power BI. Without a primary key, relationships cannot be properly enforced, leading to ambiguous or incorrect query results.

Exam trap

The trap here is that candidates often confuse calculated columns with measures, thinking that placing business logic in fact tables is acceptable, but Power BI best practices dictate that measures (calculated at query time) should be used instead to avoid inflating the model size and degrading performance.

438
MCQmedium

You are preparing data from an on-premises SQL Server database for a Power BI report. The source table contains 10 million rows and you only need the last 3 months of data. Which approach minimizes the data load time and memory consumption in the dataset?

A.Use Power Query to group by month and then filter after aggregation.
B.Use a SQL query in Power Query that includes a WHERE clause to filter the last 3 months.
C.Load all data into Power Query and apply a filter on the date column using the 'Remove Rows' feature.
D.Load all data into Power BI and then use a report-level filter to show only the last 3 months.
AnswerB

This enables query folding, pushing the filter to the source.

Why this answer

Option B is correct because query folding ensures that the filter is pushed to the source database, reducing the amount of data transferred. Option A is wrong because loading all data and then filtering in Power Query still transfers the full dataset. Option C is wrong because it still imports all data.

Option D is wrong because importing all data and using a filter on the report is less efficient.

439
MCQeasy

You have a Power BI workspace that contains several dashboards and reports. You need to ensure that the workspace is certified and that only certified datasets can be used in reports across the tenant. You also want to display a certification badge on the workspace. What should you do?

A.Apply certification to the datasets in the workspace via the dataset settings.
B.Update the workspace description to include 'Certified'.
C.Mark the workspace as 'Featured' in the admin portal.
D.Enable the 'Endorsement' setting for the workspace.
AnswerA

Certification is per dataset.

Why this answer

Option B is correct because certification is applied to datasets, not workspaces. The certification badge appears on datasets. Option A is wrong because certification is not a workspace-level setting.

Option C is wrong because workspace description does not certify. Option D is wrong because that setting controls endorsement, not certification.

440
MCQeasy

You need to grant a user the ability to manage permissions, add members, and edit content in a Power BI workspace, but not delete the workspace. Which role should you assign?

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

Correct. Member can manage members and edit content, but cannot delete.

Why this answer

Option B is correct because the Member role can edit content and manage members, but cannot delete the workspace. Option A is wrong because Admin can delete the workspace. Option C is wrong because Contributor can only edit content, not manage members.

Option D is wrong because Viewer has read-only access.

441
MCQeasy

You have a Power BI dataset that includes a table 'Orders' with columns: OrderDate, ShipDate, CustomerID, and SalesAmount. You need to create a calculated column that shows the number of days between OrderDate and ShipDate. Which DAX expression should you use?

A.YEAR(Orders[OrderDate])
B.DATEDIFF(Orders[OrderDate], Orders[ShipDate], DAY)
C.ENDOFMONTH(Orders[OrderDate])
D.DATEADD(Orders[OrderDate], 1, DAY)
AnswerB

Returns the number of days between the two dates.

Why this answer

Option A is correct. DATEDIFF computes the difference between two dates in the specified unit (DAYS). Option B returns a date, not a number.

Option C returns the end of the month, not a difference. Option D returns the year, not the difference.

442
MCQhard

You are a Power BI data analyst at a financial services company. You have created a Power BI dataset that uses a live connection to an Azure Analysis Services (AAS) tabular model. The AAS model contains sensitive financial data. You need to implement row-level security (RLS) such that each user can only see data for their assigned region. The user's region is stored in a SQL Server database table called 'UserRegion' that maps user principal names (UPNs) to region IDs. The AAS model already has a 'Region' dimension table with a 'RegionID' column. You are not allowed to modify the AAS model. What should you do?

A.Use Power Query to filter the 'Region' table based on the current user's region stored in the SQL database.
B.Define RLS roles directly in the AAS model using the USERNAME() function.
C.In Power BI Desktop, import the 'UserRegion' table from SQL Server and define an RLS role that filters the 'Region' table using the USERPRINCIPALNAME() function.
D.Modify the AAS model to include the 'UserRegion' table and define RLS roles in AAS.
AnswerC

You can implement RLS in Power BI without modifying the AAS model by importing the mapping table and defining a role.

Why this answer

Option C is correct. You can implement RLS in Power BI Desktop by defining a role that uses the USERPRINCIPALNAME() function to filter the 'Region' table based on the 'UserRegion' table imported into the Power BI dataset. Option A is wrong because you cannot modify the AAS model.

Option B is wrong because RLS in AAS requires modifying the model. Option D is wrong because the 'Region' table is in AAS, not in the SQL database.

443
MCQhard

Refer to the exhibit. The Power BI admin portal shows capacity usage. The Sales workspace is on Premium capacity and the Marketing workspace is on Shared capacity. The admin notices that the Sales dataset refresh takes 45 minutes, and the Marketing dataset refresh takes 10 minutes. Users complain that during the Sales dataset refresh, the Marketing report becomes slow. What is the most likely cause?

A.The Marketing workspace should be moved to Premium capacity to avoid contention
B.The Sales dataset is too large and consumes Premium capacity resources, leaving no resources for Marketing
C.Both workspaces are on the same shared capacity node, and the Sales dataset refresh consumes node resources, slowing Marketing
D.The Marketing dataset requires a Pro license, which is not assigned
AnswerC

On shared capacity, workspaces share underlying resources; a heavy refresh can impact others.

Why this answer

Option B is correct because on Shared capacity, refreshes can be throttled by system load, and a long-running Premium refresh (Sales) can impact the shared capacity node's performance, affecting Marketing. Option A is wrong because Premium capacity is isolated; it would not directly slow Marketing. Option C is wrong because Marketing is on Shared, not Premium.

Option D is wrong because the issue is not about licenses but about capacity contention.

444
MCQmedium

You are building a star schema in Power BI. The fact table contains sales transactions. Which of the following should be stored in a dimension table?

A.Product category
B.Sales amount
C.Customer ID
D.Transaction date
AnswerA

Product category is a descriptive attribute that should reside in a product dimension table.

Why this answer

Option C is correct because product category is a descriptive attribute that should be in a product dimension. Option A is wrong because sales amount is a measure in the fact table. Option B is wrong because transaction date can be in a date dimension but is not strictly required to be in a dimension; however, the question asks for what should be stored in a dimension table, and product category is a clear dimension attribute.

Option D is wrong because customer ID is a foreign key that links to a dimension, but it is stored in the fact table as a key, not as a descriptive attribute.

445
MCQeasy

You are preparing data in Power BI Desktop. You have a table with a column 'CustomerID' that contains duplicate values. You need to create a relationship to another table that also has 'CustomerID'. However, the relationship requires unique values in at least one of the tables. What should you do?

A.Create a composite key using multiple columns.
B.Use the 'Merge Queries' feature to combine the tables into one.
C.Change the data type of 'CustomerID' to text.
D.Remove duplicate rows from the 'CustomerID' column in the dimension table.
AnswerD

Removing duplicates ensures uniqueness for the relationship.

Why this answer

Option D is correct because to create a relationship in Power BI, at least one table must have unique values in the column used for the relationship. By removing duplicate rows from the 'CustomerID' column in the dimension table (which should contain unique identifiers), you ensure that the dimension table has unique values, allowing a one-to-many relationship to be established with the fact table. This is a standard data modeling practice in Power BI to enforce referential integrity.

Exam trap

The trap here is that candidates often think changing data types or merging tables will solve the uniqueness issue, but Power BI specifically requires unique values in at least one table for a relationship, and only removing duplicates directly addresses that requirement.

How to eliminate wrong answers

Option A is wrong because creating a composite key does not address the requirement of having unique values in at least one table for the relationship; it only combines multiple columns to form a unique identifier, but the underlying duplicate values in 'CustomerID' would still prevent a direct relationship on that column. Option B is wrong because merging queries combines tables into a single table, which eliminates the need for a relationship but is not the correct approach when you need to maintain separate tables and create a relationship between them; it also does not resolve the uniqueness requirement for the relationship. Option C is wrong because changing the data type of 'CustomerID' to text does not remove duplicate values; it only changes the data format, and duplicates would still exist, preventing the relationship from being created.

446
MCQmedium

You are designing a data model in Power BI. You have a Sales table and a Date table. The Date table should contain all dates from 2020 to 2025. What is the best practice for creating the Date table?

A.Create a calculated table using VALUES from the Sales table's date column.
B.Use the Sales table's date column directly as the date dimension.
C.Enable the auto date/time option in Power BI settings.
D.Create a separate Date table using CALENDAR function in DAX.
AnswerD

Ensures a continuous date range for time intelligence.

Why this answer

Option D is correct because using the CALENDAR function to create a separate Date table ensures a complete, contiguous date range from 2020 to 2025, independent of the Sales table. This is a best practice in Power BI for time intelligence, as it guarantees all dates are present for accurate year-over-year calculations and avoids gaps or missing dates that could occur if relying solely on transaction data.

Exam trap

The trap here is that candidates often think using the Sales table's date column directly (Option B) is simpler and sufficient, but this violates the requirement for a complete date dimension and fails when no sales occur on certain dates, which is a common pitfall tested in PL-300.

How to eliminate wrong answers

Option A is wrong because creating a calculated table using VALUES from the Sales table's date column only includes dates where sales occurred, which may omit dates with no transactions, breaking time intelligence functions like TOTALYTD or SAMEPERIODLASTYEAR. Option B is wrong because using the Sales table's date column directly as the date dimension violates the star schema principle of having a separate, dedicated date table, leading to poor performance and inability to mark it as a date table for built-in time intelligence. Option C is wrong because enabling the auto date/time option in Power BI settings creates hidden date tables automatically, but these are not user-controllable, cannot be extended to a custom range like 2020–2025, and can cause confusion in model relationships.

447
MCQhard

You have a Sales table with columns: ProductID, Amount, Date. You create the calculated column above. However, the rank values are not as expected; all rows show 1. What is the most likely cause?

A.The Dense parameter forces all ranks to 1.
B.The DESC parameter is misspelled; it should be 'Desc'.
C.The expression SUM(Sales[Amount]) in a calculated column aggregates only the current row, resulting in the same value for all rows.
D.The RANKX function requires a measure, not a calculated column.
AnswerC

In a calculated column, SUM over a column without filter context sums the entire column, but because it's in a row context, it is not a proper measure; actually, SUM(Sales[Amount]) in a row context returns the sum of all rows, not per row. Wait, the statement in D is slightly off. More precisely, in a calculated column, SUM(Sales[Amount]) returns the total sum of Amount across all rows, which is constant for all rows, so all ranks are 1. The correct fix is to use a measure or use the column value directly.

Why this answer

Option C is correct because in a calculated column, the SUM(Sales[Amount]) expression is evaluated in row context, meaning it aggregates only the current row's Amount value rather than the entire Sales table. Since every row has the same single-row aggregate, RANKX sees identical values for all rows and assigns rank 1 to each. To get correct ranking, you must use a measure or explicitly use ALL(Sales) in the expression to remove row context.

Exam trap

The trap here is that candidates confuse row context with filter context, assuming that SUM in a calculated column behaves like a measure and aggregates the whole table, when in reality it only sees the current row.

How to eliminate wrong answers

Option A is wrong because the Dense parameter in RANKX does not force all ranks to 1; it controls whether ranking gaps are skipped (e.g., 1,2,3 instead of 1,3,5) but does not affect the underlying values being ranked. Option B is wrong because the DESC parameter is correctly spelled as 'DESC' or 'DESCENDING' in DAX; there is no requirement for lowercase 'Desc', and a misspelling would cause a syntax error, not all ranks being 1. Option D is wrong because RANKX can be used in a calculated column; it does not require a measure, though the expression must be properly written to avoid row context issues.

448
MCQeasy

You need to create a calculated column that categorizes products as 'Low', 'Medium', or 'High' based on the 'UnitPrice' column. Which DAX function should you use?

A.CALCULATE
B.SUM
C.IF
D.SWITCH
AnswerD

SWITCH can evaluate multiple conditions.

Why this answer

Option B is correct because SWITCH evaluates conditions sequentially. Option A is wrong because IF can only handle two outcomes. Option C is wrong because CALCULATE modifies filter context, not for categorization.

Option D is wrong because SUM is for aggregation.

449
MCQeasy

You are preparing data for a report that requires joining sales data from a SQL database with customer demographic data from a CSV file. The CSV file contains duplicate customer IDs. How should you handle duplicates to ensure accurate analysis?

A.Group by CustomerID and aggregate all columns.
B.In Power Query, use 'Merge Queries' and select 'Merge with duplicates' option.
C.Load both tables as-is and create a relationship in the data model.
D.In Power Query, remove duplicates from the CustomerID column in the CSV table before merging.
AnswerD

Removing duplicates ensures a clean dimension table.

Why this answer

Option D is correct because removing duplicates from the CustomerID column in the CSV table before merging ensures a one-to-one or one-to-many relationship with the SQL sales data, preventing inflated row counts and inaccurate aggregations. In Power Query, the 'Remove Duplicates' operation keeps the first occurrence by default, which is appropriate when no other filtering criteria are specified. This step is critical for maintaining referential integrity in the data model.

Exam trap

Microsoft often tests the misconception that Power Query can automatically handle duplicates during a merge operation, but in reality, you must explicitly remove or deduplicate the key column before merging to avoid data inflation.

How to eliminate wrong answers

Option A is wrong because grouping by CustomerID and aggregating all columns would collapse multiple rows into one, losing granular detail and potentially discarding valid duplicate records that represent different customers or transactions. Option B is wrong because Power Query does not have a 'Merge with duplicates' option; the Merge Queries dialog only offers join kinds (e.g., Left Outer, Inner) and does not automatically handle duplicates—duplicates must be addressed before or after the merge. Option C is wrong because loading both tables as-is and creating a relationship in the data model would create a many-to-many relationship (due to duplicate CustomerIDs in the CSV), which Power BI does not support directly and would lead to ambiguous aggregations or errors.

450
MCQmedium

You are designing a Power BI report to analyze sales performance across multiple regions. The data includes a Date table with a Many-to-One relationship to Sales. You need to ensure that users can drill down from Year to Quarter to Month in a matrix visual. What must you configure on the Date table?

A.Use the built-in date hierarchy without marking the table
B.Create a relationship between Date and Sales on the Date column
C.Add calculated columns for Year, Quarter, and Month
D.Mark the Date table as a date table
AnswerD

Marking as Date Table enables built-in date hierarchy and drill-down.

Why this answer

Option B is correct because enabling 'Mark as Date Table' in Power BI automatically creates hierarchies and enables drill-down capabilities. Option A is wrong because relationships do not create hierarchies. Option C is wrong because calculated columns are not required for drill-down.

Option D is wrong because the built-in date hierarchy is automatically created when the table is marked as a date table.

Page 5

Page 6 of 13

Page 7