Courseiva

Microsoft Power BI Data Analyst PL-300 (PL-300) — Questions 151–225

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

Page 2

Page 3 of 7

Page 4
151
MCQmedium

You connect to a large Azure SQL Database table with over 100 million rows. You need to create a report that shows sales by month for the current year only. Which data reduction technique should you use in Power Query to minimize data load?

A.Import all data and then remove columns that are not needed.
B.In Power Query, apply a date filter on the source query so only current year data is imported.
C.Load all data and filter using a visual-level filter in the report.
D.Use a calculated table in DAX to filter the data.
AnswerB

Filtering the source query by date restricts the import to current-year rows only, so Power Query loads a small subset rather than all 100 million rows. This reduces data volume at the source, which is the most efficient reduction technique.

Why this answer

Applying a date filter in Power Query at the source query level ensures that only rows from the current year are imported into the Power BI data model. This reduces the data volume from over 100 million rows to a fraction, minimizing memory usage and improving refresh performance. Power Query pushes the filter down to the Azure SQL Database using a WHERE clause in the SQL query, so only the filtered data is transferred over the network.

Exam trap

The trap here is that candidates often assume visual-level filters or DAX calculated tables are sufficient for performance, but they fail to realize that data reduction must occur at the data source or during import to minimize memory and refresh time.

How to eliminate wrong answers

Option A is wrong because importing all 100 million rows and then removing columns still loads the full row count into the data model, wasting memory and bandwidth; column removal does not reduce row volume. Option C is wrong because loading all data and applying a visual-level filter only hides rows in the report, but the entire dataset remains in the model, causing unnecessary memory consumption and slower performance. Option D is wrong because a calculated table in DAX still requires the full table to be loaded first before filtering, negating any data reduction at the import stage.

152
MCQmedium

You need to create a calculated column that categorizes products based on price: 'Low' (<$10), 'Medium' ($10-$50), 'High' (>$50). Which DAX expression should you use?

A.SWITCH(Product[Price], <10, "Low", <=50, "Medium", "High")
B.LOOKUPVALUE(Category, Product[Price], Product[Price])
C.SWITCH(TRUE(), Product[Price] < 10, "Low", Product[Price] <= 50, "Medium", "High")
D.IF(Product[Price] < 10, "Low", Product[Price] <= 50, "Medium", "High")
AnswerC

This is the canonical SWITCH(TRUE()) pattern for multi-condition categorization. The first argument TRUE() is a literal value, and each subsequent argument is a Boolean condition; DAX evaluates them left-to-right and returns the result associated with the first condition that evaluates to TRUE. The final trailing value 'High' acts as the default/else clause because it has no accompanying condition. This syntax is both valid and efficiently conveys readable business logic in a calculated column.

Why this answer

Option C is correct because SWITCH(TRUE(), ...) evaluates each condition in order and returns the first TRUE result, so Product[Price] < 10 yields "Low", Product[Price] <= 50 yields "Medium", and the fallback "High" covers prices above 50. This pattern is the standard DAX way to implement multi-branch conditional logic with range comparisons. Option A is wrong because SWITCH with a scalar expression compares for equality, not ranges, so <10 and <=50 are not valid match values.

Option B is wrong because LOOKUPVALUE retrieves a value from another table by matching columns and does not perform range-based categorization. Option D is wrong because DAX IF only takes three arguments (condition, true result, false result), so passing five arguments is invalid.

153
Multi-Selecteasy

You are creating a star schema in Power BI. Which TWO tables are typically dimension tables?

Select 2 answers
A.TransactionDetails
B.Product
C.Date
D.InventoryTransactions
E.Sales
AnswersB, C

Product is a classic dimension table. It contains descriptive attributes like product key, name, category, subcategory, color, and size, and is related to fact tables through a one-to-many relationship. Because it provides the contextual attributes used for slicing and grouping transactional data, Product belongs in the dimension layer, not the fact layer, and is correctly selected here.

Why this answer

In a star schema, dimension tables hold descriptive attributes used to slice and filter facts, so B (Product) is correct because it stores descriptive product attributes like name, category, and subcategory that relate to fact tables. C (Date) is also correct because a date/calendar table provides time attributes (year, quarter, month, day) for time intelligence and filtering, making it a classic dimension. By contrast, A (TransactionDetails), D (InventoryTransactions), and E (Sales) are transactional or event-level tables that store measures and foreign keys, so they are fact tables rather than dimensions.

154
MCQeasy

You have a Power BI report that displays sales data by region. The report includes a map visual showing sales amount by state. You notice that some states are not displayed on the map because the state names in the data do not match the standard names used by Power BI's map visualization. For example, 'California' is correct but 'CA' is not recognized. You need to ensure all states appear correctly. Which action should you take? A. Create a calculated column that maps state abbreviations to full names using a SWITCH statement. B. Change the map visual to a filled map. C. Use the 'Data category' property to set the field to 'State or Province'. D. Add a custom map image. Which option is the best?

A.Use the 'Data category' property to set the field to 'State or Province'
B.Create a calculated column that maps state abbreviations to full names using a SWITCH statement
C.Add a custom map image
D.Change the map visual to a filled map
AnswerB

A calculated column using SWITCH (or a lookup table) transforms the stored abbreviation into a full, canonical state name—for example, mapping 'CA' to 'California'—so the geocoder receives exactly what it expects. After the transformation, you can optionally set that new column's Data category to 'State or Province' to reinforce the mapping, but the key is that the underlying string has changed. This fixes the problem at the data layer, which is why it works regardless of the map visual type chosen.

Why this answer

Option B is correct because the scenario describes a data-quality problem: the state field contains values like 'CA' that Power BI's map engine cannot geocode, so a calculated column using SWITCH (or a lookup table) must translate abbreviations into the full standard names such as 'California' that the map service recognizes. Setting a data category (option A) only tells Power BI what kind of geographic data the field contains; it does not convert 'CA' into a recognizable state name, so the unmatched values would still fail to plot. Changing to a filled map (option D) or adding a custom map image (option C) alters the visualization type or background but does nothing to fix the underlying mismatched state values.

Exam trap

A common trap is thinking that setting the Data Category property can fix mismatched values. In reality, Data Category only affects how Power BI interprets the field for geocoding, but the actual text values must still match standard names.

155
MCQmedium

Your organization uses Power BI in a shared capacity model. A report developer complains that a new report published to a workspace does not appear in the 'My workspace' area. They have the Contributor role on the workspace. What is the most likely cause?

A.The Contributor role does not have permission to publish reports to the workspace.
B.The report was automatically added to 'My workspace' but was deleted by an administrator.
C.Reports published to a workspace do not appear in 'My workspace' unless the user manually saves a copy there.
D.The user does not have a Power BI Pro license.
AnswerC

Reports published to a shared workspace live in that workspace, not in 'My workspace', which is reserved for each user's personal content. The user must manually save a copy to 'My workspace' if they want a private version; otherwise, the report is only accessible from the workspace where it was published. This is the correct explanation for the user's confusion about the report's location.

Why this answer

The correct answer is C: reports published to a workspace do not appear in 'My workspace' unless the user manually saves a copy there. In Power BI, 'My workspace' is a personal container separate from shared workspaces, so a report published to a shared workspace stays in that workspace and is not mirrored into the developer's personal area. The Contributor role is sufficient to publish and edit content in a workspace, so permission is not the issue.

Option A is wrong because Contributor does allow publishing, option B is wrong because no automatic copy is created to be deleted, and option D is wrong because licensing would not cause this specific display behavior.

156
Multi-Selecteasy

Which TWO of the following are true about calculated columns in Power BI?

Select 2 answers
A.Calculated columns cannot be used in relationships.
B.Calculated columns are evaluated at query time.
C.Calculated columns are computed using DAX formulas.
D.Calculated columns consume memory because they are stored as part of the model.
E.Calculated columns are stored on disk and loaded on demand.
AnswersC, D

Calculated columns are indeed created with DAX formulas, so this statement is true. You write an expression such as Amount * Rate in the formula bar, and DAX evaluates that formula once for each row in the table when the model is refreshed. The expression can reference columns from the same table, related columns in other tables, and basic DAX functions. Therefore, DAX is the required formula language for defining calculated columns in Power BI.

Why this answer

Option C is correct because calculated columns are created by writing Data Analysis Expressions (DAX) formulas in the Power BI model, and their values are computed row by row using that DAX expression. Option D is correct because calculated columns are materialized and persisted in the model (in-memory in the VertiPaq engine), so they consume memory and increase the model size. Option A is incorrect because calculated columns can absolutely be used as the key on one side of a relationship, provided their values are unique and valid.

Option B is incorrect because calculated columns are evaluated at data refresh/processing time, not at query time; it is measures that are evaluated at query time. Option E is incorrect because calculated columns are not stored on disk and loaded on demand — they are stored in memory as part of the model, unlike DirectQuery or some other storage behaviors.

Exam trap

The trap here is that candidates often confuse calculated columns with measures, mistakenly thinking calculated columns are evaluated at query time (Option B) or that they are not stored in memory (Option E), when in fact calculated columns are materialized during refresh and consume RAM.

157
MCQeasy

You have a Power BI data model with a table 'Orders' that has columns: 'OrderID', 'OrderDate', 'CustomerName', 'Region', 'Product', 'Quantity', 'UnitPrice'. You want to create a measure that calculates total sales amount. Which DAX expression should you use?

A.Total Sales = COUNTROWS(Orders)
B.Total Sales = AVERAGE(Orders[Quantity]) * AVERAGE(Orders[UnitPrice])
C.Total Sales = SUM(Orders[Quantity] * Orders[UnitPrice])
D.Total Sales = SUMX(Orders, Orders[Quantity] * Orders[UnitPrice])
AnswerD

SUMX(Orders, Orders[Quantity] * Orders[UnitPrice]) is the correct way to compute total sales because it iterates over each row of the Orders table, evaluates the expression Quantity * UnitPrice for that row, and then sums all the row-level results. This preserves the row context and correctly handles varying quantities and prices across different orders. It is the standard pattern for row-by-row multiplication followed by aggregation, avoiding the pitfalls of using SUM with an expression or multiplying aggregates.

Why this answer

SUMX is an iterator function that evaluates the expression `Orders[Quantity] * Orders[UnitPrice]` for each row in the Orders table and then sums the results. This is necessary because DAX does not support direct multiplication of two columns inside SUM; SUM expects a single column reference, not an expression. SUMX performs row-by-row evaluation, which correctly computes the total sales amount as the sum of (Quantity × UnitPrice) across all orders.

Exam trap

The trap here is that candidates mistakenly think SUM can handle a column expression like `Quantity * UnitPrice` directly, but DAX requires an iterator function like SUMX for row-level arithmetic, and they may also confuse the product of averages with the sum of products.

How to eliminate wrong answers

Option A is wrong because COUNTROWS(Orders) returns the number of rows in the Orders table, which is a row count, not a monetary total. Option B is wrong because AVERAGE(Quantity) * AVERAGE(UnitPrice) computes the product of the averages, which is not the same as the sum of products (it ignores the correlation between quantity and unit price per row, leading to an incorrect total). Option C is wrong because SUM(Orders[Quantity] * Orders[UnitPrice]) is syntactically invalid in DAX; SUM cannot accept an expression that multiplies two columns — it only accepts a single column reference.

158
Multi-Selectmedium

You need to audit Power BI activities such as viewing reports, sharing dashboards, and exporting data. Which TWO actions should you take to enable and access audit logs? (Choose two.)

Select 2 answers
A.Configure Microsoft Defender for Cloud Apps to forward logs to Microsoft Sentinel.
B.Access the audit log from the Microsoft 365 compliance portal.
C.Enable the 'Create audit logs for Power BI activities' tenant setting in the admin portal.
D.Use the 'Export' feature in Power BI to export audit logs to a CSV file.
E.Set up a diagnostic setting in Azure Monitor to collect Power BI logs.
AnswersB, C

Microsoft 365 compliance portal surfaces the unified audit log, which captures Power BI activities including report views, dashboard shares and exports. Because the stem requires auditing those specific events, retrieving them here satisfies the requirement; the log aggregates Microsoft Entra ID-authenticated activity across workloads rather than Power BI service settings alone.

Why this answer

To audit Power BI activities, you must first enable audit logging by turning on the 'Create audit logs for Power BI activities' tenant setting in the Power BI admin portal (option C). Once enabled, you can access the audit logs from the Microsoft 365 compliance portal (option B). Option A is incorrect because Microsoft Defender for Cloud Apps is not the primary location for audit logs; it can integrate but is not required.

Option D is incorrect because Power BI does not have an export feature for audit logs to CSV; you can export from the compliance portal. Option E is incorrect because Azure Monitor diagnostic settings are for Azure resources, not for Power BI audit logs.

159
Multi-Selectmedium

You are connecting to an on-premises Oracle database from Power BI Service. The gateway is installed and configured. However, the scheduled refresh fails with an error indicating that the data source credentials are invalid. Which TWO steps should you take to resolve the issue? (Choose two.)

Select 2 answers
A.Re-publish the Power BI report from Power BI Desktop.
B.Update the data source credentials in the gateway settings in Power BI Service.
C.Verify that the gateway machine can connect to the Oracle server and that the Oracle client is installed.
D.Edit the data source settings in Power BI Desktop and republish.
E.Reinstall the on-premises data gateway.
AnswersB, C

Updating the data source credentials in the gateway settings in Power BI Service is the correct resolution because the service uses those stored credentials every time it refreshes data through the on-premises data gateway. If the Oracle password changed, the account was locked, or the stored credentials simply expired, the refresh fails with authentication errors. Editing the data source in the service, re-entering the username and password, and re-testing the connection re-establishes a valid identity, allowing the refresh to succeed without altering the report or gateway installation.

Why this answer

The scheduled refresh failure indicates that the stored credentials for the on-premises Oracle data source in Power BI Service are invalid. You must update the data source credentials in the gateway settings under 'Manage gateways' in Power BI Service to provide a valid username and password that the gateway can use to authenticate against the Oracle database. Option C is correct because the gateway machine requires the Oracle client software (e.g., Oracle Data Access Components or ODP.NET) to be installed and configured, and the gateway must have network connectivity to the Oracle server; verifying these ensures the gateway can reach and authenticate with the database.

Exam trap

The trap here is that candidates assume re-publishing or editing the report in Power BI Desktop will propagate credential changes to the gateway, but Power BI Service stores credentials independently for scheduled refresh, and only updating them in the gateway settings resolves the issue.

160
MCQeasy

You need to create a visual that shows the relationship between advertising spend and website traffic. Which type of visual is most appropriate?

A.Stacked bar chart
B.Pie chart
C.Scatter chart
D.Line chart
AnswerC

A scatter chart is the only visual among these that plots two numeric measures as x-y coordinates, with each data point representing an individual observation. By showing the distribution, clustering, and trend of points, it directly reveals whether a relationship or correlation exists between the measures, and Power BI's analytics pane can overlay a trend line to quantify the strength and direction.

Why this answer

Scatter charts are ideal for showing relationships between two numeric variables. A line chart shows trends over time, a bar chart compares categories, and a pie chart shows proportions.

161
MCQmedium

You have a Power BI dataset that contains a table with sales data and a separate date table. You need to create a measure that calculates the total sales for the previous month relative to the selected date. Which DAX function should you use?

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

PREVIOUSMONTH is the correct answer because it is a dedicated time intelligence function that returns a table of all dates from the immediately preceding month, based on the current filter context. It automatically handles year boundaries, so when the current month is January, it correctly returns all dates in December of the prior year. This function requires a single column of contiguous dates and is typically used inside CALCULATE to apply the previous-month filter, making it the most direct and semantically accurate solution.

Why this answer

PREVIOUSMONTH (option C) is correct because it is a time-intelligence function that returns a single-column table of dates for the entire month immediately preceding the dates in the current filter context, so wrapping it in CALCULATE with SUM of sales yields the previous month's total sales. It works directly against a marked date table and shifts the context back exactly one month, which matches the requirement. SAMEPERIODLASTYEAR shifts the context back one year, not one month, so it would return the same period last year.

DATEADD shifts dates by a specified number of intervals but requires an explicit interval argument and is more general, not purpose-built for the immediately preceding month. PARALLELPERIOD shifts by a specified number of intervals and returns a full period, but it also requires an interval argument and is not the specific previous-month function.

162
MCQeasy

You want to allow users to highlight different product categories in a line chart by selecting from a list. Which feature should you add?

A.Slicer
B.Tooltip
C.Bookmarks
D.Drillthrough
AnswerA

A slicer is an on-canvas visual control that displays a list of product categories and lets users click or multi-select values to instantly filter or highlight other visuals on the page. It remains visible as a persistent UI element, supports keyboard and assistive technologies, and allows ad hoc selection, making it the standard interactive tool for allowing users to highlight different product categories without pre-configuring every scenario.

Why this answer

A slicer filters or highlights data based on selection, making it ideal for category selection. Bookmarks save a state, drillthrough navigates to another page, and tooltips show details on hover.

163
MCQhard

You are cleaning a column that contains numbers stored as text, with occasional leading/trailing spaces and currency symbols. You apply the function above to the column. However, some rows return null even though the original text appears to be a valid number, such as '$ 1,234.56'. What is the most likely cause?

A.The try...otherwise block is not catching parsing errors.
B.Text.Clean removes necessary decimal separators.
C.The function is applied to the wrong data type column.
D.The function does not remove commas and currency symbols before conversion.
AnswerD

The custom function uses Text.Trim and Text.Clean, which remove leading/trailing whitespace and non-printable characters only—they do not eliminate commas or currency symbols. When Number.From encounters a string like '$1,200', it raises an error because those characters are not part of a valid numeric literal in the default culture. The try-otherwise then returns null, so these unrecognized characters remain the true cause of the conversion failure. To fix it, you must strip commas and symbols (e.g., Text.Replace or Text.Remove) before invoking Number.From.

Why this answer

The correct answer is D because conversion functions like Number.FromText do not automatically strip currency symbols, commas, or spaces. The input '$ 1,234.56' must be cleaned (e.g., remove $, spaces, and commas) before conversion, or the conversion fails and returns null. The error handling (if any) only catches the error; it does not sanitize the input.

Exam trap

Candidates may assume that error handling will fix conversion failures, but error handling only catches the error after parsing fails. The input must be pre-processed to remove non-numeric characters before conversion.

How to eliminate wrong answers

Option A is wrong because the try...otherwise block does catch parsing errors; the issue is that the conversion itself fails, not that the error handling is faulty. Option B is wrong because Text.Clean removes non-printable characters (like line feeds), not decimal separators; decimal separators are preserved. Option C is wrong because the function is applied to a text column (as stated), and the data type mismatch is not the root cause—the problem is the uncleaned text content, not the column type.

164
MCQmedium

You are preparing a Power BI report that uses data from Azure SQL Database. The data includes a date column that needs to be used in time intelligence calculations. You want to ensure that the date column is recognized as a date table in the data model. What should you do?

A.Set the data type of the date column to Date.
B.Use the DAX function DATEADD to create a date table.
C.In the model view, mark the table as a date table by selecting the date column.
D.Create a calculated column using DATEVALUE to convert the date.
AnswerC

This is the correct action because marking a table as a date table explicitly tells Power BI which column represents the primary date and defines the table as the source for time intelligence functions. When a table is marked as a date table, Power BI validates that the column contains unique, continuous dates and uses it to enable functions like TOTALYTD, SAMEPERIODLASTYEAR, and RELATEDDAX date filtering. This designation ensures that relationships and calculations are aligned with the reporting date range.

Why this answer

Marking a table as a date table in the model view explicitly tells Power BI that the table contains a complete set of dates for time intelligence calculations. This ensures that DAX functions like TOTALYTD, SAMEPERIODLASTYEAR, and DATEADD work correctly by using the marked date column as the primary date reference for the model, rather than relying on auto-generated date hierarchies.

Exam trap

The trap here is that candidates often confuse setting a column's data type to Date with marking the table as a date table, assuming the data type alone is sufficient for time intelligence, but Power BI requires explicit table marking to enable proper date filtering and DAX time functions.

How to eliminate wrong answers

Option A is wrong because setting the data type to Date only ensures the column is recognized as a date value, but it does not designate the table as a date table; time intelligence functions require a marked date table with a continuous range of dates. Option B is wrong because DATEADD is a time intelligence function used to shift dates, not a function to create a date table; creating a date table requires CALENDAR or CALENDARAUTO, not DATEADD. Option D is wrong because DATEVALUE converts a text string to a date, but it does not mark the table as a date table; the table must be explicitly marked in the model view for time intelligence to function properly.

165
MCQmedium

You have a Power BI report with a map visual showing sales by city. You want to ensure that cities with higher sales are represented by larger bubbles. What should you do?

A.Create a measure that calculates the rank of each city by sales and use it as the Location field.
B.Place the Sales measure in the Tooltips field well of the map visual.
C.Place the Sales measure in the Size field well of the map visual.
D.In the map's formatting options, set the Bubble size to 'Sales'.
AnswerC

The Size field well in a map visual controls the size of the bubbles based on a numeric value. Placing the Sales measure there will scale the bubbles proportionally to sales, making higher sales appear as larger bubbles. This directly achieves the requirement.

Why this answer

To size map bubbles by a measure, you place that measure in the Size field well. The map visual then scales the bubbles according to the measure's value. This is the standard way to create proportional symbol maps in Power BI.

Exam trap

The trap here is confusing the Tooltips field well with the Size field well; tooltips show data on hover, while Size controls bubble size.

166
MCQeasy

You are importing data from a folder containing multiple CSV files with identical structure. You want to automatically combine all files into one table in Power Query. Which connector should you use?

A.Excel Workbook connector
B.CSV connector
C.Web connector
D.Folder connector
AnswerD

The Folder connector is the correct solution because it connects to a local directory, lists all files, and supports the 'Combine Files' feature in Power Query. With CSV files, it samples the first file to infer the schema, then automatically applies the same transformation to every file and appends the results into a single table. This is the standard approach for importing multiple CSV files with identical structures.

Why this answer

The Folder connector is the correct choice because it is specifically designed to connect to a folder containing multiple files, and when combined with the 'Combine Files' transformation in Power Query, it automatically merges all CSV files with identical structures into a single table. This connector handles the iterative process of reading each file and appending rows without manual scripting.

Exam trap

The trap here is that candidates often choose the CSV connector because they think it can handle multiple files, but it only processes a single file per connection, while the Folder connector is the correct tool for batch combining.

How to eliminate wrong answers

Option A is wrong because the Excel Workbook connector is used for importing data from a single Excel file, not for combining multiple CSV files from a folder. Option B is wrong because the CSV connector imports only one CSV file at a time; it does not support batch processing or automatic combination of multiple files from a directory. Option C is wrong because the Web connector is designed to import data from web URLs or APIs, not from local or network folders containing CSV files.

167
MCQmedium

You are a Power BI administrator. Your organization uses Microsoft Entra ID for identity management. You need to ensure that only users from specific security groups can access the Power BI service. What should you configure?

A.In the Power BI admin portal, configure the 'Allow users to access Power BI' setting to specify the security groups.
B.Create a conditional access policy in Microsoft Entra ID that grants access to Power BI only for members of the allowed security groups.
C.Configure the 'B2B guest user settings' to allow only specific domains.
D.Modify the workspace access permissions to include only the allowed security groups.
AnswerB

A conditional access policy in Microsoft Entra ID can target the Power BI service as a cloud app and apply a grant control that only allows sign-ins from specific security groups, while blocking all other users. This is the recommended identity-driven approach because Power BI authenticates via Entra ID, so the policy is evaluated during every sign-in, and it can also incorporate conditions such as device compliance, MFA, or location.

Why this answer

Option B is correct because Microsoft Entra ID Conditional Access is the supported mechanism to restrict sign-in to a cloud app such as Power BI based on group membership: you create a policy assigned to the Power BI cloud app, target the specific security groups under Users, and grant access while blocking everyone else. This enforces the restriction at authentication time across the tenant, which is exactly what the scenario requires. Option A is wrong because the Power BI admin portal's 'Allow users to access Power BI' setting is a tenant-wide on/off toggle that cannot be scoped to specific security groups.

Option C is wrong because B2B guest settings govern external collaboration and domain allow/deny lists, not which internal security groups may use Power BI. Option D is wrong because workspace access permissions only control content within individual workspaces and do not prevent users from signing in to the Power BI service.

168
MCQeasy

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

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

Adding the store name and sales fields to the tooltips bucket of the map visual is the correct approach because the tooltips bucket defines exactly which field values appear when a user hovers over a data point on the map. When you place fields there, Power BI automatically generates a hover tooltip that displays those values in a formatted layout. This is a per-visual configuration, so it directly affects the map without changing any other visuals or requiring navigation. Additionally, you can further format the tooltip text and group values to improve readability.

Why this answer

The correct option is A: add the store name and sales fields to the tooltips bucket of the map visual. In Power BI, the Tooltips field well on a visual lets you bind additional fields (here, store name and total sales) so they appear automatically when a user hovers over a location, which is exactly the required behavior. Option B is wrong because bookmarks capture and switch report state rather than provide hover tooltips.

Option C is wrong because drill-through requires the user to right-click and navigate to a separate page, not hover. Option D is wrong because the page tooltip property configures a report-page tooltip (often for a whole page), not the field-level hover details on the map visual.

169
Multi-Selectmedium

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

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

Marking a table as a date table requires a column of data type Date containing unique, contiguous values with no blanks. This uniqueness constraint is what Power BI validates, allowing the engine to treat that column as the authoritative calendar for time-based relationships.

Why this answer

Option C is correct because 'Mark as Date Table' requires you to designate a column that contains unique, contiguous date values with no gaps or duplicates, which Power BI uses as the basis for time-based calculations. Option E is correct because marking a table as a date table lets Power BI apply built-in time intelligence functions such as TOTALYTD, SAMEPERIODLASTYEAR, and DATESYTD correctly against that table's date column. Option A is wrong because marking a date table is not required for every relationship involving a date column; it is only needed when you want proper time intelligence behavior.

Option B is wrong because the marked date column must contain unique values, so duplicates are not allowed. Option D is wrong because 'Mark as Date Table' does not generate Year, Quarter, Month, or Day columns; those must already exist in the table or be created separately.

Exam trap

PL-300 often tests the requirements for marking a date table, so candidates mistakenly believe it auto-creates hierarchies or is required for all date relationships.

170
MCQmedium

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

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

Enabling drill-down mode and adding a Year and Quarter hierarchy to the matrix is the correct approach because it leverages Power BI's built-in hierarchy expansion and contraction. When the visual is in drill-down mode, the user can click the expand/collapse icons or right-click to move between Year, Quarter, and lower levels seamlessly, without changing pages or relying on static snapshots. This native functionality is exactly what the user needs for interactive level-by-level exploration.

Why this answer

The correct option is C: enable drill-down mode and add a hierarchy of Year and Quarter. Drill-down requires a hierarchy (Year > Quarter) placed on the matrix rows, and enabling drill-down mode lets users expand from year to quarter and collapse back up within the same visual. Drill-through pages (A) navigate to a separate filtered page rather than expanding levels in place, and bookmarks (B) capture view states rather than providing hierarchical navigation.

Tooltip pages (D) only show supplemental detail on hover and do not support drill-down or expand-up behavior.

171
Multi-Selectmedium

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

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

Microsoft Purview Information Protection (MIP) auto-labeling policies can inspect report content for sensitive data patterns (e.g., credit card numbers or PII) and automatically apply the appropriate sensitivity label to Power BI assets. Because Power BI is deeply integrated with Purview, these policies run in the background and can label unlabeled reports, ensuring consistent protection without manual user action. This is a fully valid admin-centric enforcement approach.

Why this answer

Option C is correct because Microsoft Purview Information Protection can be configured with auto-labeling policies that automatically apply sensitivity labels to Power BI content based on sensitive information types or other conditions, ensuring reports are labeled without relying on user action. Option D is correct because the Power BI tenant setting 'Require users to apply sensitivity labels when publishing reports' (in the admin portal under Information protection) enforces labeling at publish time, blocking publication of unlabeled reports. Option A is not correct because Intune is for device and app management (MDM/MAM) and cannot block unlabeled Power BI reports.

Option B is not correct because default labels in Power BI Desktop only pre-populate a suggested label; users can still change or remove it, so it does not enforce labeling. Option E is not correct because row-level security (RLS) filters data rows by user identity and has no capability to detect or hide unlabeled reports.

172
MCQmedium

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

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

Stacked area charts encode each category as a filled, colored region stacked above the previous one, so the vertical distance from one line to the next represents that category's value at each point. The top boundary of the stack shows the cumulative total over time, allowing you to read both the overall trend and each segment's contribution. This makes it the ideal choice when the goal is to visualize how individual categories combine to form a total across a continuous time period.

Why this answer

A stacked area chart is correct because it plots each product category as a cumulative band over a continuous time axis, so the total height shows overall sales while each band's thickness shows that category's contribution to the total at every point in time. This directly satisfies the requirement to show both contribution by category and the trend over time. A clustered bar chart compares discrete category values side by side but does not naturally show their combined contribution to a running total over time.

A scatter plot shows relationships between two numeric variables, not compositional contribution over time. A pie chart shows parts of a whole for a single point in time and cannot represent change over time.

173
MCQmedium

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

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

For a dataset in Power BI Premium capacity, you can schedule multiple refreshes per day (up to 48 per dataset), but each refresh must complete before the next one begins, and the service enforces a maximum refresh duration. To ensure data is loaded by 6:00 AM, you need to schedule the start early enough to account for the dataset's expected runtime, any queue time on the capacity, and potential competition from other datasets' refreshes. This directly addresses the core requirement of having fresh data by a specific time.

Why this answer

The correct option is B: schedule the refresh to start early enough to complete by 6:00 AM, considering any other scheduled refreshes. Since the dataset takes 45 minutes, the schedule must begin by 5:15 AM at the latest, and because Power BI Premium allows up to 48 scheduled refreshes per day but serializes overlapping refreshes on the same capacity, other datasets sharing that capacity can delay the start and push completion past 6:00 AM. Option A is unnecessary because Azure SQL Database is a cloud service reachable directly over the internet, so no on-premises data gateway is required.

Option C could reduce refresh duration but is an optimization, not the essential scheduling consideration, and option D is irrelevant because the dataset needs only one daily refresh, far below the Premium limit.

174
MCQmedium

You have a Power BI report with a card visual that displays total sales. Users report that when they apply a date filter using the slicer, the card visual does not update. You have verified that the slicer is properly configured to filter the date table. What is the most likely cause?

A.The card visual is set to 'Do not summarize' for the sales field.
B.The slicer is not synchronized with the card visual's page.
C.The relationship between the date table and the sales table is inactive.
D.The card visual is using a measure that ignores filter context, such as one using ALL().
AnswerD

If the measure used in the card visual includes a function like ALL() or REMOVEFILTERS(), it ignores the filter context applied by the slicer. This would cause the card to display total sales regardless of the date filter. This is the most likely cause of the described behavior.

Why this answer

The most common reason a visual does not respond to a slicer is that the measure used in the visual overrides the filter context with functions like ALL() or REMOVEFILTERS(). These functions are often used to calculate percentages of total or to ignore specific filters, but they can inadvertently cause the visual to ignore slicer selections. Checking the measure definition is the first step.

Exam trap

The trap here is assuming the slicer or relationship is at fault, when the issue often lies in the DAX measure ignoring filter context.

175
MCQeasy

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

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

A relative date slicer is the correct interactive control because it lets report viewers quickly pick common relative ranges such as Last 30 days, This year, or Yesterday, and it updates dynamically as time passes. Unlike static filters or calculated flags, the slicer places a user-driven filter on the date field and works with any well-formed date column or date table. It requires no DAX and is the standard Power BI pattern for self-service date-range selection.

Why this answer

The correct option is B: add a relative date slicer to the report page. A relative date slicer is a built-in Power BI slicer type that lets users pick dynamic ranges such as 'last 30 days', 'last 3 months', or 'this year', and it automatically recalculates based on the current date without any manual selection. Option A (bookmarks) only switches between pre-defined static views and cannot dynamically follow the current date.

Option C (a calculated column flagging the last 30 days) hard-codes a fixed window at refresh time and doesn't give users an interactive range control. Option D (a filter on the date field in the Filters pane) requires users to manually specify explicit start and end dates, which is exactly the manual selection the scenario wants to avoid.

176
MCQeasy

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

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

This is the only arrangement that correctly reflects the relationship between the two attributes and matches Power BI's drill-down semantics. Category is the broader grouping, and Product is the more detailed level, so the hierarchy starts at Category and descends to Product. When a user clicks the drill-down arrow, Power BI moves from the top level (Category) to the next level (Product), revealing the underlying data at the product granularity. This structure also supports roll-up (drill-up) back from Product to Category, which is the standard behavior in matrixes and charts.

Why this answer

In Power BI, a hierarchy is built from the highest (most aggregated) level to the lowest (most granular) level. To allow drill-down from Category to Product, Category must be the top level and Product the child level. Option C correctly orders Category → Product, enabling users to expand from category-level totals to individual product sales.

Exam trap

The trap here is that candidates often confuse the drill-down direction, thinking the hierarchy should start with the most detailed level (Product) and end with the aggregated level (Category), but Power BI requires the top-down order from aggregate to detail.

How to eliminate wrong answers

Option A is wrong because it includes Sales as a hierarchy level, but Sales is a measure (numeric value) and cannot be part of a hierarchy used for drill-down; hierarchies are built from attribute columns only. Option B is wrong because it places Product above Category, which would force drill-down from Product to Category, the reverse of the required drill-down path. Option D is wrong because it starts with Sales (a measure) and then places Product above Category, violating both the measure-in-hierarchy rule and the required drill-down order.

177
MCQhard

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

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

USERELATIONSHIP is the DAX function designed to activate a specific inactive relationship inside a measure definition by taking two column arguments. It temporarily overrides the default active relationship for that measure only, leaving the model's active relationship intact for all other calculations. This is the standard pattern for handling multiple paths between the same tables, such as Order Date and Ship Date both referencing a Calendar table.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

178
MCQhard

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

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

Removing unused columns from the fact table directly reduces the amount of data imported into the model. Each column consumes memory for storage and compression dictionaries; eliminating unnecessary columns lowers the overall model footprint and speeds up refresh and query times. This is a foundational data modeling best practice for minimizing model size without changing query behavior or architecture.

Why this answer

Removing unused columns from the fact table reduces the amount of data imported into the Power BI model, which directly minimizes model size. Each column consumes memory for compression and storage, so eliminating unnecessary columns reduces the model footprint. DirectQuery (Option B) would also reduce the amount of data stored in the model, but it changes the storage mode to query the source directly, which is not the intended approach for minimizing the size of an imported data model.

Exam trap

The trap is that candidates might choose DirectQuery to avoid importing data, but the question asks about minimizing model size in an imported model context (implied by the need to minimize size). DirectQuery is a different architecture, not a means of optimizing the size of an imported model.

How to eliminate wrong answers

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

179
MCQeasy

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

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

In Power Query Editor, selecting the column and setting the Data Type to Date invokes the type conversion engine, which parses each string value using the current culture's date formats. For a CSV with dates like '12/31/2024', this transformation changes the column's metadata to DateTime/Date type, enabling date-specific transformations, filtering, and accurate loading into Power BI. Since the column is currently text, this is the necessary step to ensure Power BI treats the values as actual dates for time intelligence calculations.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

180
MCQmedium

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

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

A line chart with a continuous date axis is the correct choice for displaying sales trends because Power BI preserves the date data type and plots each point based on its true chronological position on a time-scaled axis. With a continuous axis, missing dates are rendered as genuine gaps in the line instead of falsely connecting across them, accurately reflecting periods with no recorded sales. This configuration also supports time intelligence features, handles uneven intervals correctly, and lets viewers perceive the slope and direction of sales movement—exactly what a trend visual requires.

Why this answer

A line chart with a continuous date axis (option C) is correct because a continuous axis plots dates proportionally along the X-axis, so gaps for weekends and holidays are preserved as empty intervals rather than being collapsed, giving an accurate time-based trend. Line charts are also the appropriate visual for showing trends over time, and the continuous axis correctly reflects the true temporal spacing between data points. Option A is wrong because a categorical date axis treats each date as an evenly spaced label, which distorts the time scale and hides gaps.

Options B and D are wrong because bar charts are suited to comparing discrete categories rather than depicting continuous trends over time, regardless of axis type.

181
MCQmedium

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

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

A relationship marked as inactive does not automatically propagate filters during evaluation. Even though a physical relationship exists between Sales and Date, it is bypassed unless the measure explicitly invokes USERELATIONSHIP (e.g., CALCULATE(SUM(Sales[Amount]), USERELATIONSHIP(Sales[DateKey], Date[DateKey]))). Because that activation is missing, the slicer on Date does not filter the measure and every date shows the same grand-total value.

Why this answer

The most likely cause is that the relationship between the Sales table and the Date table is inactive. In Power BI, only one active relationship can exist between two tables; any additional relationships must be inactive. A slicer on Date[Year] will only filter through the active relationship.

If the active relationship is not the one intended for the measure, the slicer will not affect the measure's result. Using USERELATIONSHIP in the measure or setting the correct relationship as active would resolve this.

Exam trap

The trap here is that candidates often assume a slicer will automatically filter any measure referencing a related table, but they overlook that an inactive relationship requires explicit activation in the measure for filtering to work.

How to eliminate wrong answers

Option B is wrong because marking a table as a date table enables time intelligence functions and ensures continuous date ranges, but it does not affect whether a slicer filters a measure through a relationship. Option C is wrong because if there were no relationship between the Sales and Date tables, the slicer would have no effect at all, but the question states the measure does not filter correctly, implying some filtering occurs or a relationship exists. Option D is wrong because SUM and SUMX both aggregate values; the choice between them affects row context and calculation logic, not whether a slicer filters the measure through a relationship.

182
MCQeasy

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

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

Power BI Deployment Pipelines allow you to assign parameter rules (e.g., for data source parameters like Server and Database) that override values automatically when content is deployed from dev to test to production. This is the correct choice because it is the only option that truly meets the requirement of the report automatically using the production connection string without any manual adjustment. The rules are configured once in the pipeline and then applied consistently on every deployment, making the process repeatable and governed.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

183
MCQeasy

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

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

Importing both tables into Power BI loads the data into the VertiPaq in-memory columnar store, which compresses values and delivers sub-second DAX aggregations even without external infrastructure. Creating a one-to-many relationship on CustomerID between the Customers dimension table and the Orders fact table enables standard star-schema filtering—measures like 'Total Revenue by Customer' work automatically via row context and filter propagation, with no need for explicit joins. This design keeps the model compact, avoids data duplication, and is the recommended pattern for small datasets in Power BI.

Why this answer

Option D is correct because importing both tables and creating a relationship between the CustomerID columns builds a proper star-schema-style model in Power BI, letting the Customers dimension filter the Orders fact table so totals by customer and by month can be computed efficiently with DAX. This approach leverages Power BI's in-memory VertiPaq engine and relationship-based filter propagation, which is the recommended modeling pattern for this kind of analysis. Option A does not fit because DirectQuery is not supported for Microsoft Access as a data source in Power BI, and even where DirectQuery applies it would not be more efficient here.

Option B is less flexible because pre-joining the tables in Power Query flattens the model and complicates month-level aggregation and reuse. Option C is unnecessary overhead for a small business scenario and adds migration effort without modeling benefit.

184
MCQeasy

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

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

The matrix visual is the correct choice because it is specifically designed to handle hierarchical data with row headers. By adding multiple fields to the Rows bucket, each row automatically displays an expand/collapse toggle (+/−) that lets users expand an individual parent to see its children while keeping the parent row visible. It also supports the full drill-down and drill-up toolbar buttons for navigating through hierarchy levels, giving users exactly the flexible, interactive hierarchy exploration needed.

Why this answer

The correct option is C, the Matrix visual, because it natively supports hierarchical row/column groupings (such as Year > Quarter > Month) with expand/collapse controls, which is exactly what the report requires. A matrix also supports drill-down and drill-up through the hierarchy, letting users navigate from year to quarter to month levels. Option A is wrong because a Table visual does not provide expand/collapse hierarchy interaction.

Option B is wrong because a stacked bar chart with drill-down changes the chart's level rather than offering expandable/collapsible hierarchy rows. Option D is wrong because a Card visual displays a single aggregated value and has no hierarchy support.

185
MCQeasy

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

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

Adding Salesperson to the matrix rows hierarchy below Region creates a two-level row hierarchy: each Region row gains an expand/collapse (+) icon, and users can drill down to see individual salespeople within that region. This is the only option that leverages the matrix's built-in drill-down capabilities, because Power BI interprets multiple fields in the Rows area as hierarchical levels, enabling interactive expand/collapse and also the drill-down/up icons on the visual header.

Why this answer

The correct option is C: adding the Salesperson field to the matrix rows hierarchy below Region. In a Power BI matrix visual, placing fields in a hierarchy within the Rows well enables the built-in drill-down/expand feature, letting users go from region to salesperson level directly in the same visual. Drill-through (A) navigates to a separate detail page rather than drilling within the matrix, bookmarks (B) only toggle saved view states and do not create a hierarchy, and tooltips (D) merely display supplemental information on hover without enabling drill-down.

186
MCQhard

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

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

Reducing the number of visuals on a page directly reduces the number of DAX queries the Power BI engine must execute during initial load. Each visual, regardless of its size or complexity, generates at least one query against the dataset; eliminating a visual removes that query entirely. This cuts both query count and rendering overhead, delivering the most immediate improvement to page load time, especially when visuals are numerous and sourcing from large fact tables.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

187
MCQmedium

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

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

Removing columns in Power Query Editor before loading is the only true data-reduction method among the options. This action prevents the column's data from ever being imported into the model, reducing the .pbix file size, memory footprint, and refresh time. It also improves report performance because fewer columns are processed during queries. This is the recommended approach when a column is not needed for any analysis.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

188
Multi-Selectmedium

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

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

Promoting headers is a best practice because it replaces the default generic column names (Column1, Column2) with the meaningful labels from the first row, which then become the actual column names. Once promoted, you can reference these columns by name in Power Query formulas, making expressions more readable and maintainable. It also improves clarity for end users in the data model, since they see intuitive field names instead of placeholders.

Why this answer

Option B is correct because promoting headers when the first row contains column names ensures Power BI treats that row as field names rather than data, giving properly named columns for modeling and visuals. Option C is correct because splitting columns that contain multiple values into separate rows normalizes the data into a proper tabular shape, which is required for accurate aggregations and relationships in Power BI. Option A is not a best practice because data types should generally be set as early as possible, not after all transformations, to avoid errors and unexpected coercion.

Option D is wrong because merging queries is a valid and often efficient technique; lookups are not always preferable. Option E is wrong because unpivoting is a recommended transformation to convert wide (crosstab) data into a tall, analysis-friendly structure.

Exam trap

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

189
MCQhard

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

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

In DAX, variables are evaluated at the point of definition within the current filter context, not at the point of use. When the measure runs for a single row, the filter context includes that row's OrderDate, so CALCULATE(MAX(Sales[OrderDate])) returns that same date—making PreviousDate equal to LastDate. To get the previous date, you need an explicit filter that alters the context, such as FILTER(ALL(Sales[OrderDate]), ...) or a relative time function like DATEADD. This is the classic variable-context pitfall.

Why this answer

The correct answer is C: the variable PreviousDate is evaluated within the current filter context, which may equal LastDate for single rows. In DAX, a VAR is computed once in the filter context where it is defined; if the row context is not transitioned or the filter context already restricts OrderDate to the current row, then CALCULATE(..., 'Sales'[OrderDate] = PreviousDate) filters on the same date as the current row, returning the current amount instead of the prior purchase. To fix this, the previous date must be computed in a context that ignores the current OrderDate filter, e.g., using CALCULATE with ALL or REMOVEFILTERS on 'Sales'[OrderDate] before assigning the variable.

Option A is wrong because a text OrderDate would typically cause type or sort errors, not a consistent return of the current row's amount. Option B is wrong because ALLEXCEPT removing filters except CustomerID would actually help find prior dates, not prevent it. Option D is wrong because CALCULATE does support boolean filter syntax like 'Sales'[OrderDate] = PreviousDate.

190
MCQeasy

You are creating a Power BI semantic model for a university. The model includes a Student table with columns StudentID, Name, and EnrollmentDate. You need to create a calculated column that categorizes students into 'New' if EnrollmentDate is within the last 30 days from today, otherwise 'Existing'. Which DAX formula should you use?

A.IF(Student[EnrollmentDate] >= TODAY() - 30, "Existing", "New")
B.IF(Student[EnrollmentDate] >= TODAY() - 30, "New", "Existing", "Unknown")
C.IF(Student[EnrollmentDate] >= DATEADD(TODAY(), -30, DAY), "New", "Existing")
D.IF(Student[EnrollmentDate] >= TODAY() - 30, "New", "Existing")
AnswerD

This formula uses the IF function to check if the EnrollmentDate is greater than or equal to the date 30 days ago from today. If true, it returns 'New'; otherwise, 'Existing'. The TODAY() function returns the current date, and subtracting 30 gives the date 30 days ago. This correctly categorizes students based on the last 30 days and is a valid calculated column expression.

Why this answer

The correct formula must compare the enrollment date to a date 30 days before today and return 'New' or 'Existing' accordingly. Using TODAY() minus 30 days provides the cutoff date. The IF function then evaluates each row and assigns the correct category, ensuring accurate classification based on the enrollment recency.

Exam trap

The trap here is confusing time intelligence functions like DATEADD, which require a date table or column, with scalar date arithmetic using TODAY(), leading to invalid syntax or incorrect logic.

191
MCQeasy

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

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

The 'Combine Files' transform is the correct approach because Power Query connects to the folder, reads a sample file to infer the schema, and then automatically applies the same transformation steps to every CSV in that folder, stacking them into a single table. It handles an arbitrary number of files, is refreshable when files are added or removed, and is the native, scalable pattern for importing multiple CSV files with identical structures.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

192
MCQmedium

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

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

SAMEPERIODLASTYEAR returns a contiguous set of dates shifted exactly one year back from the current filter context, preserving the precise date range of the reporting period. This makes it possible to compare, for example, current month-to-date or quarter-to-date sales directly with the same calendar segment in the previous year, which is the foundation of a year-over-year growth measure. For instance, the measure YoY Growth = DIVIDE([Sales] - CALCULATE([Sales], SAMEPERIODLASTYEAR(Date[Date])), CALCULATE([Sales], SAMEPERIODLASTYEAR(Date[Date]))) yields the required percentage change.

Why this answer

SAMEPERIODLASTYEAR (option B) is correct because it returns a table of dates shifted exactly one year back from the dates in the current filter context, which is precisely what you need to compare this year's sales against the same period last year for a year-over-year growth measure. It is a time-intelligence function designed for this purpose and works on a marked date table, letting you write something like CALCULATE([Sales], SAMEPERIODLASTYEAR(Dates[Date])). DATEADD is more flexible (it shifts by any interval, e.g., -1 YEAR) but is not the dedicated same-period comparison function, and it can behave differently at partial periods.

PARALLELPERIOD shifts to a full parallel period (e.g., the entire previous year or quarter) rather than the same portion of the period, so it would not align day-for-day. PREVIOUSYEAR returns the whole previous calendar year regardless of the current period's partial span, which also breaks the same-period alignment needed for accurate YoY growth.

193
MCQeasy

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

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

The Quick Measure for 'Running total' automatically generates a measure that uses CALCULATE with FILTER and ALLSELECTED, capturing the current date context via MAX(Calendar[Date]) and summing values for all dates less than or equal to that point. This approach is fully dynamic: it respects slicers and filters on other columns, updates with the selected date range, and is a best practice because it leverages a proper date table and measure semantics. Unlike a calculated column or table, the generated measure is a lightweight, query-time computation that responds instantly to user interactions.

Why this answer

The correct option is A, the Quick Measure for 'Running total', because Power BI provides this built-in Quick Measure specifically to compute a cumulative sum of a value (e.g., sales) across a sorted axis such as a date, generating the required DAX automatically. It handles the filter context and ordering needed for a running total without manual coding. Option B is not the intended feature since writing a custom SUM/FILTER measure is a manual approach rather than the dedicated Power BI feature for this task.

Option C is unsuitable because a calculated table is static and does not dynamically respond to report filters or slicers like a measure. Option D is incorrect because a calculated column using EARLIER computes row-level values at data refresh and cannot produce a dynamic running total in the report visual.

194
Multi-Selectmedium

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

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

Relationships require columns, not measures.

Why this answer

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

Exam trap

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

195
MCQmedium

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

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

Use Power Query at the data preparation layer to apply transformations such as Trim, Proper, and Replace Values, or merge a supplementary mapping table into the dimension to consolidate spelling variants. By standardizing region names before the data is loaded, the dimension table contains a single canonical row per region, enabling correct one-to-many relationships and accurate aggregations in the star schema.

Why this answer

Option B is correct because Power Query is the proper ETL layer in Power BI for cleaning and standardizing inconsistent text values such as 'North America' vs. 'N. America' before the data reaches the model, ensuring a single conformed region name per region ID in the dimension table. This keeps the dimension table clean, avoids ambiguous relationships, and lets visuals aggregate correctly by region.

Option A is wrong because keeping duplicate spellings and a many-to-many relationship introduces ambiguity and incorrect totals rather than resolving the inconsistency. Option C is wrong because hiding the region column and using only region ID does not create a usable region name dimension and leaves the underlying inconsistency unresolved. Option D is wrong because a bridge table is used to resolve many-to-many relationships between dimensions and facts, not to fix spelling variants that should be standardized upstream.

196
MCQhard

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

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

The Power BI activity log records granular events including ShareReport, ShareDashboard and CreateDashboard, retrievable through the admin portal or REST API. It satisfies the audit requirement by capturing who shared what, with whom, and when across the tenant.

Why this answer

The Power BI activity log provides a comprehensive record of all user activities within the Power BI service, including sharing reports and dashboards. Option A (Microsoft Purview compliance portal audit log) can capture some Power BI activities but is less specific and may not include all sharing events. Option B (Azure diagnostic settings) exports telemetry data to other destinations and is not designed for direct auditing of user actions.

Option D (Microsoft Sentinel) is a SIEM tool that can ingest logs but is not the primary tool for auditing Power BI activities. The Power BI activity log is the correct choice as it is purpose-built for auditing Power BI user activities.

197
Multi-Selecthard

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

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

A dedicated mobile layout view is a Power BI feature that provides a separate phone-optimized canvas (portrait orientation) where you can reorder, resize, and hide visuals specifically for small screens. Unlike automatic reflow, this layout lets you control exactly what appears, ensuring touch-friendly spacing and prioritized content on each page. It is a best practice because it guarantees a deliberate mobile experience rather than a haphazard shrink of the desktop layout.

Why this answer

Option A is correct because Power BI Desktop provides a dedicated Mobile Layout view (View > Mobile Layout) that lets you rearrange and resize visuals specifically for phone portrait orientation without affecting the desktop canvas. Option B is correct because small phone screens and varied lighting conditions make large font sizes and high-contrast colors essential for legibility and accessibility on mobile devices. Option D is correct because limiting each page to roughly 3-5 visuals keeps the mobile layout scannable and avoids excessive vertical scrolling and slow rendering on phones.

Option C is not a mobile best practice per se: custom visuals are chosen for analytical capability, not for mobile optimization, and some custom visuals render poorly or are not optimized for small screens. Option E is not recommended because stacking multiple slicers consumes scarce screen space and complicates touch interaction; mobile designs typically favor a single, well-chosen slicer or filter pane instead.

Exam trap

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

198
MCQeasy

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

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

Replace Values -> Replace null with a default value is the correct approach because it directly modifies the ProductID column, converting each null into a specified default such as 'Unknown' or '0'. This preserves all rows while guaranteeing that no empty ProductID values remain, which is exactly the requirement. Power Query's Replace Values operation supports replacing nulls specifically, making it a targeted and effective data-cleaning step.

Why this answer

Replacing null values with a default value directly ensures that the ProductID column has no nulls in the data model. This transformation can be applied to a specific column using 'Replace Values' in Power Query, where you replace null with a chosen default. Options A and B do not address null values.

Option C, 'Remove Blank Rows', only removes rows where all columns are blank, so rows with data in other columns but null ProductID remain, failing the requirement.

Exam trap

The trap is thinking that 'Remove Blank Rows' removes rows with any null in a column; actually it only removes rows where every cell in the row is null. For a specific column like ProductID, filtering rows where ProductID is null or replacing nulls are the correct approaches.

How to eliminate wrong answers

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

199
MCQeasy

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

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

The Q&A visual is correct because it is specifically designed to let users type natural-language questions directly into a visual on a report or dashboard. It uses the semantic model's fields, measures, and relationships to interpret the question and automatically generate the appropriate visual, such as a bar chart or a table. This matches the task of allowing users to ask questions about their data in an ad-hoc, self-service manner.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

200
MCQmedium

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

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

ALL(Product[Category]) inside CALCULATE removes only the active filter on the Product[Category] column, while all other filters in the current context (such as date, region, or store) are preserved. This gives a denominator that represents total sales across all product categories within the same filtering context, which is exactly the correct baseline for computing a category's percentage. DIVIDE also safely handles division by zero by returning BLANK instead of an error, making this the most accurate and robust option.

Why this answer

It uses DIVIDE for safe division and CALCULATE with ALL(Product[Category]) to remove the filter context on the Product[Category] column, allowing the measure to compute the percentage of total sales for each product category. This pattern ensures that the denominator represents the total sales across all categories, while the numerator respects the current filter context for the specific category.

Exam trap

The trap here is that candidates often confuse ALL() with ALLSELECTED() or REMOVEFILTERS(), not realizing that ALLSELECTED() preserves external slicer filters while ALL() removes all filters on the specified column, which is essential for calculating a true percentage of total within the current filter context.

How to eliminate wrong answers

Option A is wrong because REMOVEFILTERS(Sales) removes all filters from the entire Sales table, which may include unrelated filters and does not specifically target the Product[Category] column, leading to an incorrect denominator. Option B is wrong because SUM(Sales[Amount]) / SUM(Sales[Amount]) always equals 1 (or 100%) for each row, as both numerator and denominator are the same value, failing to calculate a percentage of total. Option C is wrong because ALLSELECTED() respects slicers and external filters but does not remove the filter on Product[Category] within the visual, so the denominator would still be filtered by the current category, resulting in 100% for each category.

201
MCQmedium

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

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

Append Queries stacks tables with matching columns vertically, combining the identically structured regional sheets into one table. This satisfies the requirement to consolidate all sheets into a single table for analysis without altering the underlying column structure.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

202
MCQmedium

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

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

The error message indicates that the measure is not a valid scalar value. When a measure references a column without an aggregation function, such as Sales[SalesAmount] directly, or returns a table expression, SUMMARIZECOLUMNS fails because it expects a scalar for each column in its result set. Ensure the measure aggregates the underlying column using SUM, AVERAGE, or another scalar-returning function. Additionally, verify the measure is not using a calculated table or a row context that produces multiple results.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

203
MCQhard

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

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

Power BI activity logging captures all user interactions with datasets, including views, exports, and sharing, and can be streamed to an Azure Log Analytics workspace for centralized analysis. Once in Log Analytics, you can write KQL queries to filter activity records by IP address ranges and configure alerts to trigger when access originates from external IPs. This approach fully satisfies the requirement to log all dataset access and proactively monitor for suspicious external access in a shared capacity environment.

Why this answer

Option D is correct because Power BI activity logging captures dataset access events (including who accessed the dataset and from which client IP), and streaming those logs to Azure Log Analytics lets you query and alert on access originating from outside the corporate network, satisfying both the logging and external-access-flagging requirements. The other options do not fit: Azure SQL Auditing (A) only logs activity at the SQL Server level, not Power BI dataset access, and the source is on-premises SQL Server rather than Azure SQL. Microsoft Defender for Cloud Apps (B) enforces conditional access but does not provide the required access logging and external-IP flagging for the dataset.

Gateway logging (C) records gateway connectivity and query traffic, not end-user dataset access events or their source IPs.

204
MCQeasy

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

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

Data bars and colour scales encode each cell's magnitude visually, so regional and category patterns stand out without adding rows or columns. This directly reduces the matrix's clutter, the stated readability problem, while preserving all existing values.

Why this answer

The correct option is D: apply conditional formatting using data bars or color scales. In a matrix showing sales by region and product category, data bars or color scales add a visual encoding that lets users quickly compare magnitudes across cells, reducing the cognitive effort of reading many raw numbers and making patterns stand out. Options A, B, and C do not fit: removing all subtotals and grand totals (A) strips useful aggregation context rather than reducing clutter, adding more hierarchy levels (B) increases granularity and typically makes the matrix denser and harder to read, and converting to a table with all detail rows (C) expands rather than condenses the data, worsening readability.

205
Multi-Selectmedium

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

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

Azure AD B2B collaboration allows sharing with external guests.

Why this answer

The correct answers are C and E. Option C: By inviting external users as guests in your Microsoft Entra ID (Azure AD) using Azure AD B2B, you can share Power BI reports directly with them without requiring them to have a Power BI license. Option E: 'Publish to web' creates a public embed code that anyone on the internet can view, making it suitable for sharing with external users.

Option A is incorrect because exporting to PDF creates a static file, not an interactive report, and is not a sharing method. Option B is incorrect because external users need to be set up as guests or use publish to web; a direct link alone will not work without proper authentication. Option D is incorrect because embedding in SharePoint Online requires the external user to have access to the SharePoint site, which typically involves additional setup such as guest access.

206
MCQhard

You are preparing a Power BI dataset that includes a table 'Products' imported from an Excel workbook. The table has a column 'ProductCode' that contains values like 'A100', 'B200', etc. You need to create a new column that extracts the numeric part of the code (e.g., 100, 200) and uses it as an integer. Which Power Query transformation should you use?

A.Use the Replace Values transformation to replace 'A' and 'B' with an empty string, then change the type.
B.Use the Extract transformation and select 'Text Before Delimiter'.
C.Use the Split Column transformation by delimiter 'A' and keep the second part.
D.Add a Custom Column with the formula Text.Select([ProductCode], {"0".."9"}) and change the type to Whole Number.
AnswerD

Text.Select extracts only the characters specified in the list, in this case digits 0 through 9. This yields the numeric portion as text, which can then be converted to Whole Number. This approach is flexible and handles varying letter prefixes. It is a robust way to isolate numbers from alphanumeric strings.

Why this answer

Using Text.Select with a list of digits extracts only the numeric characters from the code, regardless of the letter prefix. This creates a text column that can then be converted to an integer. Other methods are either too specific to certain prefixes or extract the wrong portion.

Text.Select is the most flexible and correct approach.

Exam trap

The trap here is assuming that a simple Replace Values or Split Column will work for all codes, when the prefixes can vary and are not known in advance.

207
Multi-Selectmedium

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

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

Setting tab order on visual elements creates a logical keyboard-only flow through a report. This is a core WCAG 2.1 requirement under 'keyboard accessible' because it lets users navigate without a mouse. By defining a sequence, Power BI ensures screen reader users and those with motor impairments can reach every interaction predictably, avoiding random or confusing jumps.

Why this answer

Setting tab order in Power BI allows keyboard-only users to navigate through report visuals in a logical sequence, which is a core requirement of WCAG 2.1 success criterion 2.4.3 (Focus Order). Option C is correct because Power BI provides built-in high contrast themes that enhance readability for users with visual impairments. Option E is correct because adding alt text to visuals ensures screen readers can convey the content to visually impaired users.

Option D is not considered a valid method for this question; while using a color-blind friendly palette is a good design practice, it is not specifically a method to enhance accessibility in the context of the exam. Option A is incorrect as animations can distract and are not an accessibility feature.

Exam trap

The trap is that candidates often overlook high contrast themes as a valid accessibility feature, mistakenly thinking they are only for visual appeal. However, Power BI's high contrast themes are a built-in accessibility feature, so option C is correct.

208
MCQmedium

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

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

Using the SharePoint folder connector is the correct approach because it connects to a library folder and returns a table with one row per file, including a Content column that stores the raw binary data of each Excel workbook. After filtering that table to .xlsx files, you expand the Content column, which invokes Power Query's Excel parser to load each workbook and list all its worksheets. Applying a filter on the sheet name to 'Sales' ensures that exactly the sheet you need is combined across all matching workbooks, making this the native and reliable method for importing multiple Excel files from a SharePoint folder.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

209
Multi-Selecteasy

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

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

FILTER is a table function that takes a table and a logical condition, and returns a subset of rows for which the condition evaluates to TRUE. It returns a table object, preserving the original columns and establishing row context for each row, so it can be used as a table expression or as a filter argument in CALCULATE. This makes FILTER a valid DAX function for creating table results.

Why this answer

FILTER (C) is correct because it is a DAX table function that returns a table filtered by a Boolean condition, making it valid for use in a calculated table definition such as CALCULATETABLE or a New Table expression. CALENDAR (D) is correct because it is a DAX table function that returns a single-column table of contiguous dates, which is a classic use case for building a date table via a calculated table. SUM (A) is a scalar aggregation function that returns a single numeric value, not a table, so it cannot define a calculated table.

COUNT (B) is likewise a scalar aggregation function returning a count value, not a table. SELECTEDVALUE (E) is a scalar function that returns a single value when a column is filtered to one distinct value, so it also cannot produce a calculated table.

210
MCQhard

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

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

This measure uses SUMX to evaluate the expression row by row, and COALESCE converts any BLANK discount into 0 so that missing values are handled gracefully. By using (1 - COALESCE(Orders[Discount], 0)), rows without a discount contribute their full quantity × unit price, while rows with a discount are reduced exactly as intended. This is the correct and robust way to account for nullable discount columns in a fact table.

Why this answer

Option D is correct because it uses SUMX to iterate the order-line rows and computes Quantity * UnitPrice * (1 - Discount) per row, while COALESCE(Orders[Discount], 0) replaces null discounts with 0 so lines without a discount are not excluded or turned into blanks. This matches the required revenue formula and handles the stated null-discount scenario. Option A is wrong because it multiplies column totals rather than row-level values and ignores Discount entirely.

Option B is wrong because a null Discount makes the whole row expression blank, dropping those order lines from the total. Option C is wrong because it divides by (1 + Discount) instead of multiplying by (1 - Discount), producing an incorrect revenue calculation.

211
MCQhard

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

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

Drillthrough pages are designed for cross-level navigation: the source visual defines a drillthrough field, and when a user right-clicks or clicks with drillthrough enabled, Power BI passes that field's value as a filter to the destination page. This preserves the selected data point's context automatically, allowing the detail page to show only related information while executives start from a clean KPI overview. A back button returns them to the originating page, giving a fluid, context-aware drill-down workflow that bookmarks and tooltips cannot match.

Why this answer

Option B is correct because drillthrough pages are purpose-built for this scenario: a user right-clicks a data point on a summary visual (such as a KPI card or chart) and navigates to a separate detail page filtered to that context, preserving the summary-to-detail flow executives need. This keeps the executive page clean with high-level KPIs while providing a dedicated, context-filtered detail page on demand. Option A is wrong because cramming all data into one table with drill-down does not deliver a true high-level KPI view and becomes unwieldy.

Option C is wrong because bookmarks merely toggle saved view states and do not pass the selected data context to a detail view. Option D is wrong because report page tooltips only show supplementary information on hover and are not a navigation mechanism for drilling into detail.

Exam trap

The question tests the distinction between drillthrough (navigating to a dedicated detail page) and drill-down (expanding within the same visual). Drillthrough is better for providing rich detail while keeping the summary clean.

212
MCQmedium

You are a data analyst for a healthcare provider. You have a Power BI semantic model with a fact table named Encounters and a dimension table named Patients. The Patients table contains a column PatientKey and a column MRN (medical record number). Some patients have multiple MRNs because they were registered at different clinics. You need to create a relationship between Encounters and Patients that ensures each encounter is attributed to exactly one patient record. What should you do?

A.Create a one-to-many relationship from Patients[PatientKey] to Encounters[PatientKey].
B.Create a many-to-many relationship between Patients[MRN] and Encounters[PatientKey].
C.Create a bidirectional many-to-many relationship between Patients[MRN] and Encounters[MRN].
D.Create a one-to-many relationship from Patients[MRN] to Encounters[PatientKey].
AnswerA

This is correct because PatientKey is the unique surrogate key in the Patients dimension and Encounters[PatientKey] is the foreign key. A one-to-many relationship from the dimension to the fact table enforces that each encounter relates to exactly one patient record, regardless of how many MRNs that patient has.

Why this answer

The Patients dimension has a unique PatientKey that is referenced by the Encounters fact table. Creating a one-to-many relationship from Patients[PatientKey] to Encounters[PatientKey] enforces referential integrity and ensures each encounter maps to exactly one patient row. Using MRN would be incorrect because it is not unique and is not present in the fact table.

Exam trap

The trap here is assuming that the natural business identifier (MRN) should be used for the relationship instead of the surrogate key that actually links the tables.

213
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

This is the correct configuration because the KPI visual requires all three: Value for the current metric (e.g., current sales), Trend axis for the time series that drives whether the metric is trending in the right direction, and Target goals to define the benchmark against which current performance is measured. With these three bound, Power BI can calculate the KPI state, show delta versus target, and render the trend sparkline plus the color-coded status indicator.

Why this answer

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

214
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

DirectQuery translates report visuals into SQL queries executed in real time against the data warehouse, so the source system's query cost is the core bottleneck. By optimizing the SQL—reducing unnecessary joins, pushing predicates and aggregations to the source—and adding appropriate indexes on foreign keys, date columns, and frequently filtered columns, you directly lower query execution time. This is the most effective way to improve report responsiveness without leaving DirectQuery mode.

Why this answer

Option A is correct because with DirectQuery, every slicer and filter interaction is translated into a SQL query sent to the source, so performance depends heavily on the underlying SQL Server query efficiency and index availability; optimizing the SQL and adding appropriate indexes reduces query execution time and speeds up slicer/filter responsiveness. Option B does not fit because a live connection is used with Analysis Services (tabular/multidimensional) models, not a SQL Server data warehouse, and it would not improve the underlying query performance. Option C does not fit because increasing Power BI service capacity memory does not address slow source-side SQL execution in DirectQuery.

Option D does not fit because switching to Import mode changes the architecture and introduces refresh latency and dataset size limits, rather than directly fixing the DirectQuery query performance issue described.

215
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

A line chart is the optimal choice for visualizing customer fee trends because it maps a continuous time field to the category axis and the fee measure to the value axis, using position and slope to encode magnitude and direction. It naturally reveals upward or downward movements, fluctuations, seasonality, and inflection points, and Power BI's date hierarchy supports multiple granularities (day, month, quarter, year) without changing the visual. Its perceptual efficiency for comparing positions along a common axis makes it the standard for time-series data.

Why this answer

The correct option is D, Line chart, because a line chart is designed to display trends and changes over a continuous time axis, making it ideal for plotting average Score values against FeedbackDate. By placing FeedbackDate on the axis and aggregating Score as an average, the line chart clearly reveals how customer feedback scores trend over time. A pie chart (A) shows proportions of a whole at a single point and cannot represent a time trend.

A Card (B) displays only a single aggregated value, and a Table (C) lists raw or summarized data without a visual trend line.

216
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

Inner join is the correct choice because it returns only rows where the join key exists in both the Orders and Customers tables. This effectively filters the data to matching records, which is typically the desired outcome when merging transactional data with dimension tables. In Power Query, inner join is the default and guarantees that no unmatched rows are included, ensuring referential integrity in the merged result.

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.

217
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

This is exactly what the role's DAX filter does. When a user maps to a role with a table-level filter like [Region] = 'US', Power BI applies that predicate to every query against the Sales table, returning only matching rows. All other rows are filtered out at the data source level (or in-memory during import), so the user's report and any aggregations are based only on US sales. This is the intended behavior of RLS.

Why this answer

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.

218
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 is the correct M function because it is specifically designed to generate a sequential list of date values. Its signature, List.Dates(start as date, count as number, step as duration), creates a contiguous series by incrementing the start date by the provided duration each time. For example, List.Dates(#date(2020,1,1), 366, #duration(1,0,0,0)) returns a list of all 366 days in 2020, which can then be converted directly into a date dimension table. This makes it the most direct, readable, and type-appropriate choice for this requirement.

Why this answer

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

219
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 is optimal because Department and Account become conformed dimensions that can filter both fact tables without duplicating attributes. Budget and Actuals remain separate fact tables, enabling measures like SUM(Actuals[Amount]) and SUM(Budget[Amount]) to be compared directly using DAX, with relationships enforcing correct row context. This setup preserves referential integrity, supports drill-through, and lets the engine optimize query performance by navigating relationships rather than scanning stacked data.

Why this answer

Option A is correct because a star schema with shared Department and Account dimensions and separate Budget and Actuals fact tables lets each fact table relate to the same dimensions, so a DAX measure such as [Actual] - [Budget] can compute variance correctly at every Department/Account granularity and slice consistently. Keeping Budget and Actuals as distinct fact tables also preserves their different business meanings and avoids double-counting or ambiguous filter propagation. Option B is wrong because merging the two tables into one row-level table destroys the separate fact semantics and can misalign or duplicate rows when granularity differs.

Option C is wrong because a calculated SUMMARIZE table materializes data and is not the recommended way to model two fact sources for flexible variance analysis. Option D is wrong because appending Budget and Actuals with a Type column creates a single fact table whose measures must filter by Type, which is less clean and can produce incorrect aggregation across the combined rows.

220
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

A Microsoft Purview DLP policy scoped to Power BI with a sensitive information type detecting credit card numbers enforces the block at export time. This satisfies the requirement because enforcement follows the data itself, regardless of which workspace or report contains it.

Why this answer

The correct option is B: create a DLP policy in Microsoft Purview that detects credit card numbers in Power BI and set the action to block export. Microsoft Purview DLP supports Power BI as a workload, so a policy can use the sensitive information type for credit card numbers (e.g., Credit Card Number) and enforce a block-export action when that data appears in Power BI reports. This directly targets the scenario's requirement of preventing export only when credit card numbers are present.

Option A does not fit because row-level security restricts which rows users can see, not export of sensitive content. Option C is not the right mechanism because sensitivity labels apply protection/policy to items but do not provide content-based detection of credit card numbers for blocking export in Power BI. Option D is too broad because disabling export settings in the Power BI admin portal blocks export for all content, not specifically reports containing credit card numbers.

221
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 color coding across visuals is a core pre-attentive design principle: it lets executives immediately map colors to the same business dimension or measure without re-reading legends. When a fixed category color palette is applied through the theme or model, it reinforces data shape and supports quicker comparisons across pages. This consistency also reduces errors when users transition between charts, because their learned color associations transfer intact.

Why this answer

Option D is correct because consistent color coding across visuals lets executives instantly associate a color with a metric or category, reducing cognitive load and preventing misinterpretation when scanning multiple charts. Option E is correct because limiting the dashboard to the most important KPIs keeps the executive view focused on decision-relevant metrics, avoiding clutter and information overload that obscure the key message. Options A, B, and C do not belong: real-time refresh for all sources is unnecessary and costly when executives typically review daily or weekly trends, cramming many visuals onto one page harms readability rather than improving it, and a dark background is an aesthetic preference that can actually reduce contrast and legibility instead of guaranteeing effectiveness.

222
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

This is the correct answer because this relationship is the one configured with bidirectional filtering, a configuration known to degrade query performance. With bidirectional cross-filtering, a filter on Category flows to Product and then to Sales, but also filters on Product or Sales can propagate back to Category, causing extra dependency chains and potential ambiguity in filter context. This forces the query engine to evaluate additional row combinations and can make the model significantly less responsive. In contrast to unidirectional relationships, this bidirectional flow creates unnecessary complexity, so the Product–Category relationship is the least efficient.

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.

223
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(SurveyResponses[RespondentID]) is correct because it evaluates the unique values in the RespondentID column, ignoring blanks and returning the number of distinct respondents. In a table where each row is a survey response, a single respondent may appear multiple times; distinct counting on the respondent identifier isolates each unique individual, which is exactly the measure needed. This function is designed for counting unique non-blank values and is the standard way to count distinct entities in DAX.

Why this answer

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.

224
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

The dataset owner is the correct recipient because MailOnFailure is a dataset-level property that triggers an email to the owner's Power BI account when a scheduled refresh fails. This notification is tied to the individual who originally created or has explicit ownership of the dataset, not to any broader group or role. Even when other users edit the dataset, the owner remains the fixed point of contact for the dataset's operational alerts, such as refresh failures.

Why this answer

The correct option is B, the dataset owner, because Power BI scheduled refresh failure notifications are sent by default to the owner of the dataset (the user who configured/owns the refresh), not to broader groups. In the exhibit's scheduled refresh configuration, no additional notification recipients are specified, so only the dataset owner receives the failure alert for the March 2, 2026 refresh. Workspace admins are not automatically notified of refresh failures unless they are the dataset owner or explicitly added as recipients.

The Power BI tenant admin and all users with dataset access are also not default recipients of scheduled refresh failure emails.

225
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

Splitting a column by the space delimiter in Power Query is a native M transformation that invokes the Splitter.SplitTextByDelimiter function behind the scenes, generating two separate columns for first and last names in a single step. This declarative approach is optimized for large volumes of rows, requires no manual mapping, and automatically applies to every row, making it the most efficient and maintainable solution among the choices.

Why this answer

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.

Page 2

Page 3 of 7

Page 4

All pages