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

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

Page 11

Page 12 of 13

Page 13
826
MCQmedium

You are building a Power BI report for the HR department to analyze employee turnover. You have an Employee table with columns: EmployeeID, Name, Department, HireDate, TerminationDate (nullable). The report must include a measure that calculates the number of active employees as of the last day of each month. The data model also includes a Calendar table with a continuous date range. The measure must be accurate regardless of any slicer selections on the Calendar table. You need to write the DAX measure. Which measure should you use?

A.CALCULATE(COUNTROWS(Employee), Employee[HireDate] <= MAX('Calendar'[Date]), Employee[TerminationDate] > MIN('Calendar'[Date]) || ISBLANK(Employee[TerminationDate]))
B.CALCULATE(COUNTROWS(Employee), Employee[HireDate] <= MAX('Calendar'[Date]), (Employee[TerminationDate] > MAX('Calendar'[Date]) || ISBLANK(Employee[TerminationDate])))
C.SUMX(Employee, IF(Employee[HireDate] <= MAX('Calendar'[Date]) && (Employee[TerminationDate] > MAX('Calendar'[Date]) || ISBLANK(Employee[TerminationDate])), 1, 0))
D.CALCULATE(COUNTROWS(Employee), Employee[HireDate] <= TODAY(), ISBLANK(Employee[TerminationDate]))
AnswerB

Correctly counts employees active as of the last day of the month.

Why this answer

Option B is correct because it uses a pattern that calculates employees hired on or before the last date of the month and terminated after that date or still active (TerminationDate is blank). The use of MAX('Calendar'[Date]) ensures it respects the current filter context for the month, and the logic correctly counts active employees. Option A is wrong because it uses MIN instead of MAX, and the logic is reversed.

Option C is wrong because it uses a fixed date. Option D is wrong because it sums an expression incorrectly.

827
MCQeasy

You need to create a hierarchy in Power BI that allows users to drill down from Year to Quarter to Month. Which of the following actions is required?

A.Create a relationship between the Year, Quarter, and Month columns.
B.Create the hierarchy in the report view by grouping fields.
C.In the Fields pane, right-click a column and select 'Create hierarchy', then add child columns.
D.Use Power Query to merge the columns into one.
AnswerC

This is the standard method.

Why this answer

Option C is correct. A hierarchy is created by selecting multiple columns in the same table and defining a parent-child relationship. Option A is incorrect because relationships are between tables, not within a hierarchy.

Option B is incorrect because hierarchies can be created in the model view, not only in report view. Option D is incorrect because you cannot create a hierarchy in Power Query.

828
MCQhard

You are building a Power BI data model from a CSV file that contains sales transactions. The CSV file has a column named 'TransactionDate' that stores dates as text in the format 'YYYYMMDD'. You need to create a date table that includes all dates from the transaction data. Which Power Query step should you use to convert the TransactionDate column to a date data type?

A.Parse -> Date
B.Change Type -> Using Locale -> Date
C.Split Column -> By Number of Characters
D.Detect Data Type
AnswerA

Correctly parses the custom date format.

Why this answer

Option A is correct because the 'Parse' feature in Power Query, specifically the 'Parse -> Date' transformation, is designed to convert text columns with custom date formats like 'YYYYMMDD' into a proper date data type. This method intelligently interprets the text pattern without requiring locale-specific settings, making it the most direct and reliable approach for this format.

Exam trap

The trap here is that candidates often choose 'Change Type -> Using Locale' thinking it handles all text-to-date conversions, but it fails for non-locale-specific formats like 'YYYYMMDD' because it expects a separator or locale-dependent order.

How to eliminate wrong answers

Option B is wrong because 'Change Type -> Using Locale -> Date' is intended for converting date strings that are locale-dependent (e.g., 'MM/DD/YYYY' vs 'DD/MM/YYYY'), not for a fixed, non-locale format like 'YYYYMMDD'. Option C is wrong because 'Split Column -> By Number of Characters' would break the 'TransactionDate' string into separate year, month, and day columns, which is unnecessary and adds complexity when a direct date conversion is possible. Option D is wrong because 'Detect Data Type' is an automatic inference step that may not correctly identify 'YYYYMMDD' text as a date, often leaving it as text or converting it incorrectly.

829
MCQhard

You are merging two queries in Power Query: 'Orders' and 'Customers'. The 'Orders' table has a 'CustomerID' column, and 'Customers' has 'CustomerID' and 'Name'. You need to bring the 'Name' into 'Orders' but only for matching CustomerIDs; unmatched rows should be removed. Which join kind should you use?

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

Only matching rows from both tables are kept.

Why this answer

The Inner join kind in Power Query returns only rows where there is a match in both tables based on the key columns. Since the requirement is to bring the 'Name' into 'Orders' only for matching CustomerIDs and to remove unmatched rows, the Inner join is the correct choice. It ensures that only orders with a corresponding customer in the 'Customers' table are retained, and the 'Name' column is added to those matching rows.

Exam trap

The trap here is that candidates often confuse Left Outer join with Inner join, thinking that 'bringing in data only for matches' means keeping all left rows, but Left Outer retains unmatched left rows with nulls, while Inner removes them entirely.

How to eliminate wrong answers

Option A is wrong because Right Anti join returns only rows from the right table that have no match in the left table, which would exclude all matching rows and is the opposite of what is needed. Option B is wrong because Full Outer join returns all rows from both tables, including unmatched rows from each side, which would keep orders without a matching customer and introduce nulls, violating the requirement to remove unmatched rows. Option D is wrong because Left Outer join returns all rows from the left table (Orders) and only matching rows from the right table (Customers), which would keep orders without a matching customer (with null in Name), not removing unmatched rows as required.

830
MCQhard

Your organization uses row-level security (RLS) in Power BI. You have a table 'Sales' with a column 'Region'. You define a role 'RegionManagers' with the filter: [Region] = "North". A user named Alice is a member of this role. However, when Alice views a report that uses this dataset, she sees all regions. What is the most likely reason?

A.The dataset uses DirectQuery mode, which does not support RLS.
B.Alice is the dataset owner.
C.The filter must use USERNAME() or USERPRINCIPALNAME() function.
D.RLS is only applied in Power BI Desktop, not in the service.
AnswerB

Dataset owners bypass RLS.

Why this answer

RLS is applied only when the user accesses the dataset through a report or dashboard in the service, but if the user has the 'Build' permission or is an owner of the dataset, they can bypass RLS. Option D is correct because dataset owners see all data regardless of RLS. Option A is wrong because RLS works in both DirectQuery and Import.

Option B is wrong because RLS works in the service. Option C is wrong because you must use 'username()' or 'userprincipalname()' in DAX, but the filter as written is static and valid.

831
Multi-Selectmedium

You are preparing data from a REST API that returns JSON. The API has a pagination mechanism using a 'nextPageToken' in the response. You need to ingest all data into Power BI. Which TWO methods can you use to handle pagination in Power Query?

Select 2 answers
A.Enable automatic pagination detection in Power Query.
B.Configure incremental refresh to load data in batches.
C.Use DirectQuery to connect to the API and rely on the server to paginate.
D.Write a recursive M function that calls Web.Contents and follows the next page token.
E.Use the 'Table.GenerateByPage' function in Power Query M.
AnswersD, E

This is a common pattern to manually implement pagination in Power Query.

Why this answer

Option D is correct because you can write a recursive M function that repeatedly calls Web.Contents, extracts the 'nextPageToken' from each JSON response, and constructs the next request URL until no token is returned. This approach gives you full control over the pagination logic, which is necessary when the API does not support Power Query's built-in pagination detection.

Exam trap

The trap here is that candidates often assume Power Query can automatically paginate any REST API (Option A) or that incremental refresh (Option B) can solve pagination, when in reality both require specific API patterns or data modeling features that do not apply to custom token-based pagination.

832
Drag & Dropmedium

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

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

Steps
Order

Why this order

Calculated tables are created via DAX expressions and can be used like regular tables, but they are computed at refresh time.

833
Multi-Selectmedium

You have a Power BI report that uses a custom visual from AppSource. The visual is not rendering correctly. Which three steps should you take to troubleshoot?

Select 3 answers
A.Disable hardware acceleration in Power BI Desktop
B.Check if the visual version is compatible with your Power BI Desktop version
C.Update the visual to the latest version from AppSource
D.Clear the browser cache
E.Verify that the visual uses the correct data fields
AnswersB, C, E

Incompatibility can cause rendering issues.

Why this answer

Options A, C, and D are correct. Option B is wrong because clearing cache might not fix visual rendering. Option E is wrong because disabling hardware acceleration is a general troubleshooting step but not specific to custom visuals.

834
MCQmedium

You have a Power BI data model with a table named Employees that includes columns: EmployeeID, ManagerID, and EmployeeName. You need to create a hierarchy that shows the reporting structure. Which type of relationship is required?

A.Many-to-many relationship
B.Bidirectional cross-filtering
C.A self-referencing relationship
D.One-to-many relationship to a separate table
AnswerC

A self-referencing relationship connects EmployeeID to ManagerID within the same table, enabling a hierarchy.

Why this answer

A self-referencing relationship (Option C) is required because the Employees table contains both EmployeeID and ManagerID, where ManagerID references EmployeeID within the same table. This allows Power BI to create a parent-child hierarchy that accurately represents the reporting structure, such as an org chart. In Power BI, this is implemented by creating a relationship from ManagerID to EmployeeID within the same table.

Exam trap

The trap here is that candidates confuse a self-referencing relationship with a one-to-many relationship to a separate table, thinking a manager table is required, when Power BI can handle parent-child hierarchies directly within a single table.

How to eliminate wrong answers

Option A is wrong because a many-to-many relationship would imply multiple managers per employee or multiple employees per manager in a non-hierarchical way, which does not model a standard reporting structure. Option B is wrong because bidirectional cross-filtering is a filter direction setting, not a relationship type; it controls how filters propagate across relationships but does not define the structure needed for a hierarchy. Option D is wrong because a one-to-many relationship to a separate table would require a distinct manager table, which is unnecessary and would break the self-referencing pattern needed for a single-table hierarchy.

835
MCQmedium

You have a Power BI model with a 'Date' table marked as a date table. You need to create a measure that calculates the running total of sales over the last 12 months. Which DAX function should you use?

A.PREVIOUSYEAR
B.DATESYTD
C.DATESINPERIOD
D.DATEADD
AnswerC

DATESINPERIOD can return a set of dates going back 12 months from the current date.

Why this answer

Option C, DATESINPERIOD, is correct because it allows you to define a dynamic window of dates—specifically, the last 12 months ending with the latest date in the current filter context. When used with a measure like CALCULATE(SUM(Sales[Amount]), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH)), it shifts the date range backward by 12 months from the last visible date, making it ideal for a rolling 12-month total. The 'Date' table being marked as a date table ensures that time intelligence functions respect the continuous date range.

Exam trap

The trap here is that candidates often confuse DATESYTD (which is for year-to-date, not rolling) with a trailing 12-month calculation, or they mistakenly think PREVIOUSYEAR can handle a dynamic window, when in fact it only returns a fixed prior calendar year.

How to eliminate wrong answers

Option A is wrong because PREVIOUSYEAR returns the entire previous calendar year (e.g., all of 2023) relative to the current context, not a rolling 12-month window that moves with each period. Option B is wrong because DATESYTD calculates a year-to-date total from the start of the calendar year to the last date in context, which is a fixed annual accumulation, not a trailing 12-month period. Option D is wrong because DATEADD shifts a set of dates by a specified interval (e.g., -1 year) but returns a set of dates shifted from the original, not a contiguous 12-month window ending at the current context; it requires additional logic to create a rolling total.

836
MCQhard

You are designing a Power BI report for a sales team. The team needs to see revenue by product category, but also want to view daily trends for a selected product. The data has over 10 million rows. What visual design approach minimizes report load time?

A.Use a custom visual that combines both views in one chart
B.Use bookmarks to switch between category view and daily trend view
C.Place a stacked column chart showing all categories and a line chart for trend on the same page
D.Create a drillthrough page with a line chart showing daily revenue, and use category page as source
AnswerD

Drillthrough loads only when needed, reducing initial query.

Why this answer

Using a drillthrough page with a single visual reduces initial load. Option A is correct. Option B is wrong because a single visual with all categories may be slow.

Option C is wrong because bookmarks add complexity. Option D is wrong because custom visuals may have overhead.

837
MCQhard

You are a data analyst for a financial services firm. You have a Power BI semantic model that uses DirectQuery mode against a SQL Server data warehouse. The model includes a large fact table named Transactions with billions of rows. Users are complaining that the report is slow when filtering by date range. You need to improve the performance of date-related queries without changing the data source structure. You cannot switch to Import mode due to data volume constraints. What should you do?

A.Switch to Import mode for the Transactions table and schedule frequent refreshes.
B.Create a date dimension table in the SQL Server data warehouse and use that table in the Power BI model for date filtering. Ensure the date column is indexed.
C.Add an index on the date column in the fact table and use the date column directly in visuals.
D.Create a calculated table in Power BI using DAX to generate a distinct list of dates from the Transactions table.
AnswerB

A date dimension table reduces the cardinality of date columns and improves query performance.

Why this answer

Option A is correct: creating a date dimension table in the data warehouse and using it for filtering reduces the number of rows scanned. Option B would increase model size and maintenance. Option C is not possible because calculated tables are not supported in DirectQuery.

Option D would not help performance.

838
MCQhard

You are a data analyst for a retail company. You are building a Power BI model to analyze inventory levels across multiple warehouses. The source data is a SQL Server database with two tables: Inventory (WarehouseID, ProductID, StockOnHand, ReorderPoint) and Product (ProductID, ProductName, Category, UnitPrice). The Inventory table has 500,000 rows, and Product has 10,000 rows. You import both tables into Power BI. You need to create a measure that calculates the total value of inventory (StockOnHand * UnitPrice) for products that are below their reorder point. You create the following measure: TotalValueBelowReorder = CALCULATE( SUMX(Inventory, Inventory[StockOnHand] * RELATED(Product[UnitPrice])), Inventory[StockOnHand] < Inventory[ReorderPoint] ) However, the measure returns an incorrect total. You suspect an issue with the filter context. What is the most likely cause of the incorrect result?

A.SUMX cannot iterate over Inventory directly because it is a table reference; you need to use VALUES or a measure.
B.The filter condition is applied to the entire Inventory table, but the row context from SUMX is not being considered, causing the filter to apply incorrectly.
C.The measure needs to be written using SUM instead of SUMX because StockOnHand and UnitPrice are both numeric columns.
D.The RELATED function fails because the relationship between Inventory and Product is inactive.
AnswerB

The CALCULATE function modifies the filter context, but the filter is on the Inventory table without considering the current row from SUMX. The correct approach is to use FILTER inside CALCULATE to iterate over rows.

Why this answer

Option B is correct because the filter condition `Inventory[StockOnHand] < Inventory[ReorderPoint]` is applied as a table-level filter on the entire Inventory table, not within the row context of SUMX. SUMX iterates over each row of Inventory, but the CALCULATE filter overrides the row context, causing the filter to be evaluated against the whole table rather than per row. This leads to an incorrect total because the condition is not evaluated for each individual product as intended.

Exam trap

The trap here is that candidates mistakenly think the filter inside CALCULATE is evaluated row-by-row within SUMX, but in reality, CALCULATE's filter arguments are applied as table-level filters that override the row context, causing the condition to be evaluated incorrectly.

How to eliminate wrong answers

Option A is wrong because SUMX can iterate directly over a table reference like Inventory; it does not require VALUES or a measure to iterate. Option C is wrong because SUM cannot perform row-by-row multiplication of StockOnHand and UnitPrice across two tables; SUMX is necessary to iterate over Inventory rows and use RELATED to fetch UnitPrice. Option D is wrong because the relationship between Inventory and Product is assumed to be active (the default single-direction relationship from Product to Inventory), and RELATED works correctly in a row context; there is no indication of an inactive relationship.

839
MCQhard

You are a Power BI administrator. Your company has a Power BI tenant with a large number of workspaces. A new regulation requires that all shared dashboards must have a data retention policy that deletes data older than 6 months. You need to implement this for all existing and future dashboards. The solution must be automated and not require manual intervention. What should you do?

A.Configure a tenant-level data retention policy in the Power BI admin portal.
B.Set a retention period on each dashboard manually in the dashboard settings.
C.Use Microsoft Purview data lifecycle management to apply retention labels.
D.Develop a PowerShell script using the Power BI REST API to regularly delete dashboards older than 6 months.
AnswerD

Automated script can enforce retention.

Why this answer

Option C is correct because Power BI does not have built-in data retention for dashboards; you must use the REST API to programmatically manage content. Option A is wrong because there is no tenant-level retention setting. Option B is wrong because Microsoft Purview does not manage Power BI data retention.

Option D is wrong because there is no dashboard-level setting.

840
MCQeasy

Refer to the exhibit. You are configuring a scheduled refresh for a Power BI dataset. The exhibit shows the refresh schedule settings. The dataset is in a workspace in a Premium capacity. The scheduled refresh runs at 5:00 AM UTC daily. However, the refresh is failing consistently. What is the most likely cause?

A.The notify option should be set to 'OnFailureOrSuccess' to get alerts.
B.The data source requires a gateway to be configured for refresh.
C.The refresh time is outside the allowed window for Premium capacities.
D.The dataset is in a Premium capacity, which does not support scheduled refresh.
AnswerB

On-premises data sources require a gateway for scheduled refresh, even in Premium.

Why this answer

The exhibit shows a scheduled refresh configured for a dataset in a Premium capacity workspace, but the refresh is failing consistently. The most likely cause is that the data source requires a gateway to be configured for refresh. Even in Premium capacities, if the data source is on-premises or within a private network (e.g., SQL Server, Oracle, or SharePoint on-premises), an on-premises data gateway must be installed and configured to enable the Power BI service to connect and refresh the data.

Without a gateway, the scheduled refresh will fail because the cloud service cannot directly access the local data source.

Exam trap

The trap here is that candidates often assume Premium capacities automatically resolve connectivity issues or that scheduled refresh is not supported in Premium, when in reality the gateway requirement is independent of capacity tier and depends solely on the data source location.

How to eliminate wrong answers

Option A is wrong because the notify option (set to 'OnFailureOrSuccess' or 'OnFailure') controls email notifications for refresh outcomes, but it does not affect whether the refresh succeeds or fails; it only determines if you receive alerts. Option C is wrong because Premium capacities have a larger refresh window (up to 48 refreshes per day) and 5:00 AM UTC is well within the allowed window; there is no restriction that would cause a failure at that time. Option D is wrong because Premium capacities fully support scheduled refresh; in fact, they offer more frequent refresh slots than shared capacities, so this is not a limitation.

841
MCQhard

You are designing a Power BI solution that ingests data from multiple sources: Azure Blob Storage, Salesforce, and an on-premises Oracle database. The data must be combined into a single semantic model. The Oracle database contains sensitive customer information that must be masked before being loaded. Which approach should you use to prepare the data?

A.Create a Power BI dataflow that extracts, transforms, and masks data before loading into the semantic model
B.Use DirectQuery to connect to all sources and rely on database-level masking
C.Import all data into Power BI Desktop and apply transformations in the Power Query Editor
D.Stage the data in an Azure SQL Database and use SQL Server Analysis Services to mask data
AnswerA

Dataflows provide a scalable way to prepare data from multiple sources, including masking transformations.

Why this answer

Option A is correct because Power BI dataflows provide a cloud-based ETL solution that can connect to Azure Blob Storage, Salesforce, and on-premises Oracle (via an on-premises data gateway), perform transformations including data masking, and then load the prepared data into a shared semantic model. This approach centralizes data preparation, ensures sensitive data is masked before any downstream consumption, and supports scheduled refreshes without requiring additional infrastructure.

Exam trap

The trap here is that candidates often assume data masking must be done at the database level or via a separate service like SSAS, but Power BI dataflows can perform masking during the transformation phase, making them the most integrated and efficient solution for this multi-source scenario.

How to eliminate wrong answers

Option B is wrong because DirectQuery does not allow data masking within Power BI; it passes queries directly to the source, so sensitive data would remain unmasked unless the source itself applies masking, which is not guaranteed across heterogeneous sources. Option C is wrong because importing all data into Power BI Desktop and applying transformations in Power Query Editor only masks data locally in the .pbix file, not in a shared, scalable semantic model, and it does not support scheduled cloud-based refreshes for on-premises Oracle without additional gateway configuration. Option D is wrong because staging data in Azure SQL Database and using SQL Server Analysis Services (SSAS) to mask data introduces unnecessary complexity and cost, and SSAS is not required for masking; Power BI dataflows can perform masking natively without additional services.

842
MCQeasy

You have a Power BI report with a page that contains a bar chart showing sales by product category. You want to allow users to click on a bar and navigate to a different report page that shows detailed sales for that category. Which feature should you use?

A.Bookmarks
B.Report page tooltips
C.Cross-filtering
D.Drillthrough
AnswerD

Drillthrough allows users to right-click or click a data point to go to a detail page.

Why this answer

Drillthrough is the correct feature for navigating from a summary visual to a detail page for a specific data point. Cross-filtering only filters other visuals on the same page. Bookmarks are for saved views.

Report page tooltips are for hover details. Custom visuals are not needed.

843
MCQeasy

You need to connect Power BI to an Excel file stored on a local network drive. The file is updated manually each morning. You want the Power BI report to always show the latest data when opened. Which data connectivity mode should you choose?

A.Live Connection
B.Dual
C.Import
D.DirectQuery
AnswerC

Import mode loads the data into the model and can be refreshed on a schedule to get the latest file.

Why this answer

Option C (Import) is correct because Power BI must load the Excel data into its internal VertiPaq engine to support the full range of transformations and visualizations. Since the file is on a local network drive and updated manually, Import mode allows you to refresh the dataset on demand or via a scheduled refresh, ensuring the report always shows the latest data when opened. DirectQuery and Live Connection are not applicable because they require a live queryable data source (like SQL Server or Analysis Services), not a flat file.

Exam trap

The trap here is that candidates often confuse DirectQuery with the ability to query any file-based source, but Microsoft explicitly restricts DirectQuery to SQL-based and OData sources, not Excel or CSV files.

How to eliminate wrong answers

Option A (Live Connection) is wrong because it is used only for connecting to an Analysis Services tabular model or a Power BI dataset, not to an Excel file stored on a network drive. Option B (Dual) is wrong because Dual mode is a storage mode that combines Import and DirectQuery for composite models, but it still requires a DirectQuery-capable source (like SQL Server) and cannot be used with Excel files. Option D (DirectQuery) is wrong because DirectQuery mode is designed for relational databases or other sources that support real-time querying; Excel files are not supported in DirectQuery mode in Power BI.

844
MCQmedium

You are using Power Query Editor to combine multiple CSV files from a folder. Each file has the same structure except that some files have an extra column 'Region' that is not present in others. You need to merge all files into one table, ensuring that the 'Region' column appears for all rows, with nulls where missing. Which combine files option should you select?

A.Use 'Combine & Load' and then manually add the missing column.
B.Use 'Sample File' and then refresh.
C.Use 'Combine & Transform' and then edit the function to include all columns.
D.Use 'Append Queries' after loading each file separately.
AnswerC

This allows you to customize the combine logic to include all columns.

Why this answer

Option C is correct because Power Query's 'Combine & Transform' generates a function that you can edit to explicitly include all columns from all files, even those that appear only in some files. By modifying the function to reference all columns (e.g., using `Table.ColumnNames` or a custom column list), the resulting merged table will contain the 'Region' column with null values for rows from files that lack it. This approach handles schema drift automatically without manual post-processing.

Exam trap

The trap here is that candidates assume 'Combine & Transform' works like 'Combine & Load' and only merges files with identical schemas, missing the ability to edit the generated function to handle schema differences.

How to eliminate wrong answers

Option A is wrong because manually adding the missing column after loading is inefficient and error-prone, especially when the folder contains many files or when new files with different schemas are added later. Option B is wrong because 'Sample File' and then refresh only works when all files have an identical structure; it does not handle extra columns present in some files but not others, causing errors or data loss. Option D is wrong because 'Append Queries' after loading each file separately requires you to manually load every file individually, which defeats the purpose of automated folder combining and does not scale; it also does not automatically align columns with different schemas.

845
Multi-Selecteasy

Which TWO of the following are valid ways to create a calculated table in Power BI? (Select TWO.)

Select 2 answers
A.Use the DAX expression with the SUMMARIZE function.
B.Use the Merge Queries feature in Power Query Editor.
C.Use the Split Column feature in Power Query Editor.
D.Use the DAX expression with the ADDCOLUMNS function.
E.Use the Group By feature in a matrix visual.
AnswersA, D

SUMMARIZE can create a calculated table.

Why this answer

Option A is correct because the SUMMARIZE function in DAX creates a calculated table by grouping data from one or more tables, returning a new table with distinct combinations of the specified columns. This is a standard way to generate a calculated table in Power BI for further analysis or modeling.

Exam trap

The trap here is that candidates confuse Power Query transformations (like Merge Queries or Split Column) with DAX-based calculated tables, or mistake visual-level grouping for a data model object, leading them to select B, C, or E as valid methods.

846
MCQmedium

You have a Power BI report that uses a dataset with row-level security (RLS) roles defined. Users report that they see no data when viewing the report. Which two checks should you perform first? (Assume all other configurations are correct.)

A.Confirm that the workspace is assigned to a Premium capacity.
B.Check that the report is published to a Power BI app.
C.Verify that the dataset has the RLS roles applied and published.
D.Ensure the users are members of the appropriate RLS role.
E.Verify that the RLS role name matches exactly with the username.
AnswerC, D

RLS roles must be applied to the dataset in the service.

Why this answer

Option A is correct because RLS roles must be applied to the dataset. Option D is correct because users must be members of the RLS role. Option B is wrong because app permissions are for sharing, not RLS.

Option C is wrong because capacity is unrelated. Option E is wrong because the RLS role name is case-insensitive.

847
MCQmedium

Your organization uses Microsoft Power BI with Microsoft Purview for data governance. You have a dataset that contains customer data classified as 'Highly Confidential' under a sensitivity label. The compliance team requires that when this dataset is shared with external users, a Microsoft Purview data loss prevention (DLP) policy must block the sharing and notify the compliance team. You need to configure this. What should you do?

A.Use Microsoft Defender for Cloud Apps to create a session policy that blocks sharing.
B.Configure Microsoft Sentinel to monitor and block sharing events.
C.In the Power BI admin portal, disable sharing for workspaces containing 'Highly Confidential' content.
D.Create a DLP policy in Microsoft Purview that applies to Power BI and blocks sharing of content with the 'Highly Confidential' label.
AnswerD

DLP policies can block sharing based on sensitivity labels.

Why this answer

Option A is correct because DLP policies in Microsoft Purview can block sharing based on sensitivity labels. Option B is wrong because Microsoft Defender for Cloud Apps is for app governance, not DLP. Option C is wrong because Power BI admin settings do not provide DLP.

Option D is wrong because Microsoft Sentinel is for security monitoring, not DLP.

848
MCQeasy

You are building a Power BI report to analyze customer churn. You want to add a visual that shows the trend of churn rate over time. Which visual type is most appropriate?

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

Line charts are ideal for displaying trends over time.

Why this answer

Option A is correct because a line chart is best for showing trends over time. Option B is wrong because a stacked bar chart is better for comparing parts of a whole. Option C is wrong because a scatter plot shows correlation between two variables.

Option D is wrong because a pie chart shows proportions at a single point in time.

849
Multi-Selecthard

Which THREE of the following are best practices for designing Power BI reports for mobile devices?

Select 3 answers
A.Include all pages from the desktop report in the mobile layout.
B.Create a separate mobile layout for the report.
C.Minimize the number of visuals on each page to avoid clutter.
D.Use large, readable fonts and high-contrast colors.
E.Use only responsive visuals that automatically resize.
AnswersB, C, D

Mobile layouts allow you to rearrange and resize visuals specifically for mobile viewing.

Why this answer

Option B is correct because Power BI allows you to create a dedicated mobile layout that is separate from the desktop report layout. This enables you to optimize the visual arrangement, size, and visibility of visuals specifically for smaller screens, ensuring a better user experience on mobile devices.

Exam trap

The trap here is that candidates assume all visuals are responsive and will automatically resize to fit mobile screens, but Power BI's mobile layout feature requires manual optimization, and not all visuals support responsive behavior.

850
Multi-Selecthard

You manage a Power BI tenant. You need to prevent users from sharing reports with external users. Which THREE actions should you take?

Select 3 answers
A.Create a Microsoft Entra ID conditional access policy to block external users.
B.Disable 'Publish to web' in the admin portal.
C.In the Power BI admin portal, disable 'Share content with external users'.
D.Disable 'Create app workspaces' for non-admins.
E.Disable 'Export to Excel' for all reports.
AnswersA, B, C

Blocks access from external accounts.

Why this answer

Options A, B, and D are correct. Disable sharing with external users in the tenant settings, disable embed codes to prevent public sharing, and use Microsoft Entra ID conditional access to block external access. Option C is wrong because that setting controls publish to web, not sharing.

Option E is wrong because that setting controls export, not sharing.

851
MCQmedium

You are a Power BI developer for a healthcare organization. You are building a semantic model to analyze patient readmission rates. The data warehouse contains: Admissions (AdmissionID, PatientID, AdmitDate, DischargeDate, DiagnosisCode, HospitalID) and Readmissions (ReadmissionID, PatientID, ReadmitDate, Reason). You need to create a measure that calculates the readmission rate within 30 days of discharge. The measure must consider only the first readmission per patient per admission. You also need to create a visual that shows the trend of readmission rates over time, allowing users to filter by diagnosis. The model will be used by 200 analysts and must refresh daily. Which DAX measure should you create?

A.Readmission Rate = DIVIDE( COUNTROWS(Readmissions), COUNTROWS(Admissions) )
B.Readmission Rate = DIVIDE( COUNTROWS(Admissions), DISTINCTCOUNT(Admissions[PatientID]) )
C.Readmission Rate = VAR ReadmitPatients = CALCULATETABLE( VALUES(Readmissions[PatientID]), Readmissions[ReadmitDate] <= Admissions[DischargeDate] + 30 ) RETURN DIVIDE( COUNTROWS(ReadmitPatients), DISTINCTCOUNT(Admissions[AdmissionID]) )
D.Readmission Rate = DIVIDE( COUNT(Readmissions[ReadmissionID]), COUNT(Admissions[AdmissionID]) )
AnswerC

Correctly counts distinct patients readmitted within 30 days per admission.

Why this answer

Option C is correct: It calculates distinct count of patients readmitted within 30 days divided by distinct count of admissions, considering first readmission. Option A is wrong because COUNTROWS counts multiple readmissions per patient. Option B is wrong because it counts all admissions including those without readmission.

Option D is wrong because it counts all readmissions, not first.

852
MCQhard

You have the above measure in a Power BI model. The 'Date' table is marked as a date table and has a relationship to Sales[OrderDate]. The measure returns blank for all months. What is the most likely cause?

A.The Date table does not contain all dates in the continuous range
B.The relationship is set to filter in the wrong direction
C.The measure uses incorrect syntax for DATESYTD
D.The 'Date' table is not marked as a date table
AnswerA

DATESYTD requires a continuous date range; gaps cause blank results.

Why this answer

Option C is correct because DATESYTD requires a continuous date range. If the Date table does not contain all dates (e.g., missing weekends or holidays), DATESYTD may not work correctly. Option A is wrong because the relationship direction is fine.

Option B is wrong because the Date table is marked as date table, so date filter direction is not an issue. Option D is wrong because the measure syntax is correct.

853
MCQeasy

You are importing data from a CSV file that contains a column 'Date' with values like '2026-01-15'. After loading, Power Query detects the column as type 'text'. What is the recommended step to ensure the column is treated as a date?

A.In Power Query, select the column and change the data type to 'Date' using the 'Data Type' dropdown.
B.In Power BI Desktop, use the 'Format' pane to set the column as a date.
C.Use the 'Parse' -> 'Date' transformation in Power Query.
D.Use the 'Detect Data Type' button in Power Query to automatically detect all columns.
AnswerA

This explicitly sets the data type.

Why this answer

Option A is correct because in Power Query, the recommended method to convert a text column containing date-formatted strings (like '2026-01-15') to a proper Date type is to select the column and change its data type using the 'Data Type' dropdown in the Transform tab. This ensures the column is treated as a date for downstream calculations and modeling. Power Query automatically parses the text into a date based on the locale and format of the data.

Exam trap

The trap here is that candidates confuse the 'Format' pane in the report view (which only changes display formatting) with the Power Query data type change (which alters the column's data type in the data model), leading them to select Option B.

How to eliminate wrong answers

Option B is wrong because the 'Format' pane in Power BI Desktop is used for visual formatting (e.g., display format of a date in a report), not for changing the underlying data type of a column in the data model. Option C is wrong because there is no 'Parse' -> 'Date' transformation in Power Query; the correct transformation is 'Change Type' -> 'Date' or using the 'Data Type' dropdown. Option D is wrong because the 'Detect Data Type' button in Power Query attempts to auto-detect types for all columns, but it may not reliably convert a text column to date if the data is ambiguous or if the detection logic fails; the recommended step is to explicitly set the data type.

854
Multi-Selecthard

Which THREE factors should you consider when planning the deployment of Power BI content to a large enterprise with multiple regions?

Select 3 answers
A.Data residency requirements for each region.
B.The number of visuals per report page.
C.The currency format used in reports for each region.
D.The use of deployment pipelines to promote content between regions.
E.The location and performance of on-premises data gateways.
AnswersA, D, E

Data must stay within geographic boundaries due to compliance.

Why this answer

Data residency requirements are critical because Power BI stores data in specific Azure regions. For a multi-region enterprise, you must ensure that data does not leave the required geographic boundary due to compliance or legal mandates. This affects where you provision Power BI tenants, capacity, and data sources.

Exam trap

The trap here is that candidates confuse report-level formatting concerns (like currency or visuals) with infrastructure-level deployment considerations, which are the actual focus of multi-region planning.

855
MCQeasy

You have a Power BI report that uses a date table connected to a fact table. You need to ensure that all dates in the fact table are covered by the date table. Which relationship property should you configure?

A.Make this relationship active
B.Cardinality
C.Assume referential integrity
D.Cross filter direction
AnswerC

Ensures all fact table dates exist in date table.

Why this answer

Option C is correct because the 'Assume referential integrity' property, when enabled, tells Power BI that every value in the foreign key column of the fact table exists in the primary key column of the date table. This ensures that all dates in the fact table are covered by the date table, allowing Power BI to use more efficient storage and query execution (e.g., INNER JOIN semantics) rather than a full OUTER JOIN.

Exam trap

The trap here is that candidates often confuse 'Assume referential integrity' with 'Make this relationship active' or 'Cross filter direction', thinking that activating a relationship or changing filter direction will enforce date coverage, when in fact only referential integrity guarantees that all fact table dates are present in the date table.

How to eliminate wrong answers

Option A is wrong because 'Make this relationship active' controls which relationship is used by default for filtering, not whether all fact table dates exist in the date table. Option B is wrong because 'Cardinality' defines the type of relationship (e.g., many-to-one, one-to-one) and does not enforce that every foreign key value has a matching primary key. Option D is wrong because 'Cross filter direction' determines how filters propagate between tables (single or both directions) and has no effect on referential integrity or date coverage.

856
MCQmedium

Refer to the exhibit. You have a Power BI dataset with the measures shown. When you use 'Sales YoY %' in a visual, it returns blank for months that have no sales in the previous year. What is the most likely cause?

A.CALCULATE returns blank because there are no sales in the previous year period.
B.The Date table does not contain dates for the previous year.
C.The SAMEPERIODLASTYEAR function is not supported in this context.
D.DIVIDE function returns blank when denominator is zero.
AnswerA

If no sales exist in the previous year, the measure returns blank, causing DIVIDE to return blank.

Why this answer

Option A is correct because when using SAMEPERIODLASTYEAR inside CALCULATE, if there are no sales in the previous year for a given month, the filter context returns an empty table, causing CALCULATE to return BLANK. This blank propagates to the DIVIDE function, which then returns blank for the 'Sales YoY %' measure, even though the denominator is not zero.

Exam trap

The trap here is that candidates mistakenly attribute the blank to DIVIDE's zero-denominator behavior, when in fact the blank originates from CALCULATE returning no data due to missing prior-year sales.

How to eliminate wrong answers

Option B is wrong because the Date table typically contains all dates for the previous year; the issue is not missing dates but the absence of sales data for those dates. Option C is wrong because SAMEPERIODLASTYEAR is fully supported in time intelligence calculations when a proper date table is marked as a date table. Option D is wrong because DIVIDE returns blank only when the denominator is zero or BLANK, but here the denominator (previous year sales) is blank due to no sales, not zero.

857
MCQmedium

You are importing data from a SQL Server view into Power BI. The view contains calculated columns that are expensive to compute. You want to minimize the load on the source database during refresh. What should you do?

A.Import the raw data and perform transformations in Power Query.
B.Enable query folding to push transformations to SQL Server.
C.Use a native SQL query in Power Query to perform calculations.
D.Create a materialized view in SQL Server with the calculations.
AnswerA

Transformations in Power Query are done in Power BI, reducing load on the source database.

Why this answer

Option A is correct because importing raw data and performing transformations in Power Query offloads the computational burden from the SQL Server source to Power BI's mashup engine. This minimizes load on the source database during refresh, as expensive calculated columns are not executed on SQL Server. Power Query can apply transformations after the data is extracted, reducing the need for server-side processing.

Exam trap

The trap here is that candidates often assume pushing transformations to the source (via query folding or native SQL) is always more efficient, but the question specifically asks to minimize load on the source database, making offloading to Power Query the correct choice.

How to eliminate wrong answers

Option B is wrong because enabling query folding pushes transformations back to SQL Server, which would increase the load on the source database by having it perform the expensive calculations, contradicting the goal of minimizing load. Option C is wrong because using a native SQL query in Power Query to perform calculations still executes those calculations on SQL Server, placing the computational burden on the source database. Option D is wrong because creating a materialized view in SQL Server with the calculations would require the source database to compute and store the results, increasing load during refresh rather than reducing it.

858
MCQhard

You are defining a Power BI dataset using a JSON policy for deployment pipelines. The above snippet defines a table named 'Sales' with a parameterized query. When you deploy this dataset to production, the refresh fails. What is the most likely cause?

A.The SQL source does not support parameterized queries.
B.The parameter type should be 'Text' instead of 'Int64'.
C.The mode 'Import' is not allowed with parameterized queries.
D.The parameter value is not provided in the dataset settings.
AnswerD

After deployment, you must set the parameter value in the Power BI service dataset settings, otherwise the refresh fails.

Why this answer

Option D is correct because when a Power BI dataset uses a parameterized query, the parameter value must be explicitly provided in the dataset settings under the 'Parameters' section. If the parameter value is not supplied or is missing after deployment to production, the refresh will fail because the query cannot resolve the parameter. This is a common oversight when moving datasets between pipeline stages.

Exam trap

The trap here is that candidates often assume parameterized queries require 'DirectQuery' mode or that SQL sources cannot handle parameters, but the real issue is the missing parameter value in the dataset settings after deployment.

How to eliminate wrong answers

Option A is wrong because SQL sources (e.g., SQL Server, Azure SQL Database) fully support parameterized queries via native query parameters or M functions. Option B is wrong because the parameter type 'Int64' is valid for numeric parameters; changing it to 'Text' would cause a type mismatch if the query expects an integer. Option C is wrong because 'Import' mode is the default and works perfectly with parameterized queries; the parameter is resolved at refresh time, not during query design.

859
MCQmedium

You are designing a Power BI report for a sales team. The team needs to see the top 10 products by sales amount, but also want to see the sales amount for all other products aggregated as 'Others'. What is the best approach to create this visual?

A.Use a Top N filter on the visual to show top 10 and enable the 'Others' option in the filter pane.
B.Create a calculated table that holds the top 10 products and join it to the main table.
C.Use the RANKX function in a measure and filter the visual to show rank <= 10.
D.Create a calculated column that categorizes products as 'Top 10' or 'Others' based on rank, then use that column in the visual.
AnswerD

This allows the visual to show the top 10 and aggregate the rest as 'Others'.

Why this answer

The best approach is to create a measure that ranks products and then use TOPN to get top 10, and a separate measure for others. Alternatively, use a grouping in the data model. Option B is the most straightforward: create a calculated column to group top 10 and others.

Option A is incorrect because Top N filter does not aggregate others. Option C is incorrect because RANKX alone doesn't group others. Option D is incorrect because a calculated table would be disconnected.

860
MCQeasy

You have a Power BI capacity that is frequently hitting its memory limits, causing refreshes to fail. You need to reduce memory usage without increasing capacity size. What should you do?

A.Increase the eviction time for unused data.
B.Reduce the number of parallel data refresh operations.
C.Remove row-level security (RLS) from the dataset.
D.Increase the frequency of scheduled refreshes.
AnswerB

Fewer concurrent refreshes lower memory consumption.

Why this answer

Option A is correct because reducing the number of parallel data refreshes reduces memory pressure. Option B is incorrect because increasing scheduled refresh frequency increases memory usage. Option C is incorrect because removing RLS does not reduce memory usage significantly.

Option D is incorrect because increasing the eviction time keeps more data in memory, worsening the issue.

861
MCQmedium

You need to ensure that a Power BI report is accessible to users with visual impairments. Which feature should you configure?

A.Apply a high-contrast theme.
B.Enable data labels on all visuals.
C.Add alt text to each visual.
D.Set custom tab order for visuals.
AnswerC

Alt text provides descriptions for screen readers.

Why this answer

Option B is correct because Power BI allows adding alt text to visuals, which screen readers can read. Option A is wrong because tab order is for keyboard navigation but not specifically for visual impairments. Option C is wrong because the high-contrast theme affects colors but does not provide textual descriptions.

Option D is wrong because data labels are not read by screen readers.

862
Multi-Selecthard

Which THREE of the following are valid considerations when using Power BI DirectQuery mode?

Select 3 answers
A.Data is imported into the Power BI dataset.
B.You cannot create relationships between tables.
C.Queries are sent to the underlying data source in real time.
D.Row-level security (RLS) can be applied.
E.Some DAX functions are not supported.
AnswersC, D, E

DirectQuery does not import data; it queries the source.

Why this answer

Option C is correct because in DirectQuery mode, Power BI does not import data; instead, it sends native queries to the underlying data source (e.g., SQL Server, Oracle) each time a visual is rendered or a filter is applied. This ensures that the data displayed is always current, as the query is executed in real time against the source system.

Exam trap

The trap here is that candidates often confuse DirectQuery with Import mode, assuming data is still cached locally, or mistakenly think relationships cannot be created because they are not enforced at the dataset level, when in fact they are supported but with limitations.

863
MCQeasy

You are modeling data for a sales analysis. The Sales table includes a column 'ProductID' and a related Products table. You need to create a measure that calculates the total sales amount only for products in the 'Electronics' category. Which DAX measure should you use?

A.CALCULATE(SUM(Sales[Amount]), KEEPFILTERS(Products[Category] = "Electronics"))
B.CALCULATE(SUM(Sales[Amount]), ALL(Products[Category] = "Electronics"))
C.CALCULATE(SUM(Sales[Amount]), FILTER(Products, Products[Category] = "Electronics"))
D.SUMX(Products, IF(Products[Category]="Electronics", SUM(Sales[Amount])))
AnswerA

KEEPFILTERS adds the filter without removing existing filters.

Why this answer

CALCULATE with KEEPFILTERS ensures that the filter context from the Products table is preserved while adding the category filter. Option A is correct. Option B is wrong because FILTER would work but is less efficient and might not respect existing filters.

Option C is wrong because ALL removes filters. Option D is wrong because it uses a table name incorrectly.

864
MCQmedium

You are deploying a Power BI solution to a customer. The customer requires that all report access be controlled via Azure Active Directory (Azure AD) groups. You have a single workspace with multiple reports. What is the best practice for managing permissions?

A.Create a Power BI group and add users to it.
B.Assign each user directly to the workspace role.
C.Share each report individually with users.
D.Add an Azure AD group to the workspace role.
AnswerD

This is the recommended approach for scalable access.

Why this answer

Option D is correct because using an Azure AD group to manage workspace roles aligns with the customer's requirement for centralized access control via Azure AD. This approach simplifies permission management by allowing group membership changes in Azure AD to automatically propagate to Power BI workspace access, ensuring consistency and reducing administrative overhead.

Exam trap

The trap here is that candidates may confuse Power BI groups (which are legacy and not Azure AD integrated) with Azure AD groups, or assume that direct user assignment or individual report sharing is simpler, missing the requirement for centralized Azure AD-based control.

How to eliminate wrong answers

Option A is wrong because creating a Power BI group (a distribution group or security group within Power BI) does not leverage Azure AD groups as required; it introduces a separate group management layer that is not integrated with the customer's Azure AD-based identity governance. Option B is wrong because assigning each user directly to the workspace role violates the requirement to control access via Azure AD groups, leading to manual, error-prone user management and lack of centralized control. Option C is wrong because sharing each report individually bypasses workspace-level permissions, creating a fragmented permission model that is harder to audit and does not scale; it also does not use Azure AD groups as specified.

865
Multi-Selecthard

A company has a Power BI semantic model that uses DirectQuery to a SQL Server database. The model includes a large fact table with 100 million rows. Users are experiencing slow report performance. Which THREE actions should the developer take to improve query performance?

Select 3 answers
A.Configure incremental refresh to limit data retrieved per query.
B.Create indexes on columns used in filters and relationships.
C.Remove unused columns from the fact table.
D.Hide columns that are not needed in reports.
E.Add calculated columns to precompute aggregations.
AnswersA, B, C

Incremental refresh reduces the amount of data queried at a time.

Why this answer

Option A is correct because incremental refresh limits the amount of data retrieved per query by partitioning the fact table into smaller, manageable date ranges. In a DirectQuery model, this reduces the volume of data scanned by SQL Server for each query, directly improving report performance by minimizing the data transfer and query execution time.

Exam trap

The trap here is that candidates often confuse hiding columns (a cosmetic change) with removing columns (a structural optimization), and they mistakenly believe calculated columns can improve query performance when in fact they add overhead in DirectQuery models.

866
MCQhard

You have a Power BI semantic model with a date table that has a 1:* relationship to a Sales table. You need to create a measure that shows the number of sales transactions for the last 30 days. The date table is marked as a date table. Which DAX expression should you use?

A.CALCULATE(COUNTROWS(Sales), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -30, DAY))
B.CALCULATE(COUNTROWS(Sales), DATESBETWEEN('Date'[Date], TODAY()-30, TODAY()))
C.CALCULATE(COUNTROWS(Sales), PREVIOUSMONTH('Date'[Date]))
D.CALCULATE(COUNTROWS(Sales), DATEADD('Date'[Date], -30, DAY))
AnswerA

Returns dates in the last 30 days from the latest date.

Why this answer

DATESINPERIOD returns a set of dates going back 30 days from the last date in filter context. Option D is correct. Option A is wrong because DATEADD moves by intervals, not necessarily 30 days back from today.

Option B is wrong because PREVIOUSMONTH returns a month. Option C is wrong because DATESBETWEEN requires explicit start and end dates.

867
MCQmedium

You are a Power BI administrator. A user reports that a shared dashboard shows 'Sensitive data detected' for certain visualizations, but the dashboard is configured with row-level security (RLS). What is the most likely cause of this issue?

A.The dashboard owner has not granted the user 'Build' permission on the dataset.
B.RLS is incorrectly configured and allowing users to see data they should not.
C.A Microsoft Purview sensitivity label is applied to the dataset or report.
D.The user is viewing the dashboard in a browser that does not support sensitivity labels.
AnswerC

Sensitivity labels can cause 'Sensitive data detected' messages regardless of RLS.

Why this answer

Option B is correct because Microsoft Purview Information Protection sensitivity labels take precedence over RLS; a label applied to a dataset or report can flag data as sensitive regardless of RLS. Option A is wrong because RLS does not block sensitivity labels from being applied. Option C is wrong because the dashboard owner's permissions do not affect label detection.

Option D is wrong because the Power BI service does not strip sensitivity labels for external users unless explicitly configured.

868
MCQmedium

Refer to the exhibit. A Power BI dataset uses a service principal to connect to an Azure SQL Database. The dataset fails to refresh with an authentication error. What is the most likely cause?

A.The database name is incorrect.
B.The service principal ID is invalid.
C.The service principal credentials are not configured in the data gateway.
D.The server name is incorrect.
AnswerC

The exhibit only shows the service principal ID; the secret must be stored in the gateway.

Why this answer

Option C is correct because the service principal (client secret or certificate) must be stored in the gateway cluster credentials. Option A is wrong because the database name is correct. Option B is wrong because server name is correct.

Option D is wrong because service principal has an ID, but the password/secret is missing from the exhibit; the credentials need to be configured in the gateway.

869
Multi-Selectmedium

Which THREE are required components of a Power BI Paginated Report?

Select 2 answers
A.A subscription
B.A map visual
C.A dataset
D.A data source
E.A query parameter
AnswersC, D

Every paginated report needs at least one dataset.

Why this answer

A dataset is a required component of a Power BI Paginated Report because it defines the schema and structure of the data that the report renders. Without a dataset, the report has no data to display, making it impossible to generate any paginated output. The dataset is bound to a data source and provides the fields used in report items like tables, charts, and text boxes.

Exam trap

Microsoft often tests the misconception that optional features like subscriptions, map visuals, or query parameters are mandatory, when in fact only the dataset and data source are strictly required for a paginated report to render.

870
Multi-Selectmedium

You are using Power Query to transform a column 'FullName' containing values like 'Smith, John'. You need to split this into 'LastName' and 'FirstName' columns. Which THREE steps are required?

Select 3 answers
A.Unpivot columns
B.Use 'Split Column' by delimiter
C.Trim leading/trailing spaces from new columns
D.Merge the split columns back
E.Rename the new columns to LastName and FirstName
AnswersB, C, E

Splits the column into two based on comma.

Why this answer

Options A, B, and D are correct. Split Column by delimiter (A) with comma, then you might need to trim spaces (B) and rename columns (D). Option C is wrong because unpivot is not needed.

Option E is wrong because merging is the opposite of splitting.

871
MCQeasy

You are designing a Power BI semantic model for an e-commerce company. You have a fact table with OrderID, CustomerID, OrderDate, and SalesAmount. You also have a Customers table with CustomerID, CustomerName, and CustomerSegment. You need to ensure that filters on CustomerSegment propagate to the SalesAmount measure. What should you do?

A.Use the LOOKUPVALUE function in a calculated column.
B.Create a one-to-many relationship from Customers[CustomerID] to Sales[CustomerID].
C.Merge the Customers and Sales tables into a single table in Power Query.
D.Create a snowflake schema by adding a separate Segment table.
AnswerB

This is the standard star schema design.

Why this answer

Option A is correct because creating a relationship between the fact and dimension table based on CustomerID allows filters on CustomerSegment to propagate to the fact table. Option B is incorrect because merging tables is not necessary and may cause data duplication. Option C is not a Power BI feature.

Option D is incorrect because a snowflake design is not required.

872
MCQmedium

You have a Power BI report that uses a live connection to an Azure Analysis Services (AAS) model. Users report that the report takes a long time to load when they apply a slicer on a calculated column. What should you recommend?

A.Replace the calculated column with a calculated table
B.Convert the calculated column to a measure if the logic allows
C.Implement incremental refresh on the calculated column
D.Disable cross-filtering between the slicer and the visual
AnswerB

Measures are calculated at query time and avoid storage.

Why this answer

Calculated columns are evaluated at refresh time and stored in memory. They can degrade performance. Option B is correct: convert to a measure if possible.

Option A is wrong because incremental refresh is for imports, not live connections. Option C is wrong because disabling interactions would hide the issue. Option D is wrong because calculated columns are not faster.

873
Multi-Selecthard

Which THREE considerations are important when implementing row-level security (RLS) in Power BI? (Select exactly 3.)

Select 3 answers
A.Roles can use DAX expressions to define filters
B.RLS can filter data based on the user's identity
C.RLS is automatically applied when using Analyze in Excel
D.RLS in DirectQuery mode pushes filters to the source database
E.RLS can restrict access to specific measures
AnswersA, B, D

DAX is used to create filter conditions for roles.

Why this answer

Options A, B, and D are correct. Option A: RLS filters data at the row level based on the user's role. Option B: Roles can be defined using DAX expressions that filter tables.

Option D: RLS is enforced in DirectQuery mode, but performance depends on the source. Option C is wrong because RLS does not restrict access to measures; measures are still visible unless explicitly hidden. Option E is wrong because RLS is not applied when users view data in Power BI Desktop; it is only applied when published to the service.

874
MCQeasy

You are building a Power BI semantic model that includes a Date table. Which of the following is a best practice for creating a Date table?

A.Mark the date table as a date table in Power BI Desktop.
B.Create relationships from the date table to every fact table column that contains dates.
C.Use the CALENDARAUTO function to automatically generate dates.
D.Use a date table that includes only dates that exist in the fact tables.
AnswerA

This enables time intelligence functions.

Why this answer

Option D is correct because marking a table as a date table enables time intelligence functions. Option A is incorrect because the date table should have a contiguous range of dates. Option B is incorrect because using CALENDARAUTO can produce unpredictable ranges.

Option C is incorrect because the date table should not have a relationship to every fact table; only one active relationship per fact table is needed.

875
Multi-Selecteasy

Which TWO of the following are best practices for designing a data model in Power BI?

Select 2 answers
A.Use calculated columns to perform all transformations.
B.Set all relationships to bidirectional cross-filtering to avoid ambiguity.
C.Use surrogate keys (integer IDs) for relationships instead of natural keys.
D.Reference other queries as a single source to avoid duplication.
E.Design the model with a star schema layout (fact and dimension tables).
AnswersC, E

Surrogate keys improve join performance and reduce model size.

Why this answer

Option C is correct because using surrogate keys (integer IDs) instead of natural keys improves relationship performance and reduces storage overhead. Integer joins are faster than string or composite key joins, and surrogate keys avoid issues with changing natural key values, ensuring referential integrity and stable model relationships.

Exam trap

The trap here is that candidates often confuse 'best practice' with 'always possible'—they may choose bidirectional filtering (B) because it seems flexible, or calculated columns (A) because they are easy, but the exam tests understanding of performance and maintainability trade-offs in large-scale models.

876
MCQeasy

You have a Power BI model with a fact table and several dimension tables. You need to ensure that when a filter is applied to a dimension table, it also filters related rows in other dimension tables through the fact table. Which type of relationship direction should you configure?

A.Automatic
B.Both
C.None
D.Single
AnswerB

Both directions allow bidirectional filtering through the fact table.

Why this answer

Option B is correct because cross filter direction set to 'Both' allows filters to propagate in both directions, enabling dimension tables to filter each other through the fact table. Option A is wrong because 'Single' only filters from the one side to the many side. Option C is wrong because 'None' disables cross filtering.

Option D is wrong because 'Automatic' is not a valid setting in Power BI.

877
MCQeasy

You need to combine two tables: Sales and Products, where Sales has a ProductID column and Products has a ProductKey column. The tables have a many-to-one relationship. Which Power Query transformation should you use?

A.Group By.
B.Append Queries.
C.Merge Queries.
D.Pivot Column.
AnswerC

Merge joins tables on matching columns.

Why this answer

Merge Queries (C) is correct because it performs a join between two tables based on matching columns, which is exactly what is needed to combine Sales and Products using ProductID and ProductKey. This transformation supports many-to-one relationships and allows you to expand related columns from the Products table into the Sales table, enabling further data analysis.

Exam trap

The trap here is that candidates confuse Merge Queries with Append Queries, mistakenly thinking that combining tables always means stacking rows, rather than joining on a key relationship.

How to eliminate wrong answers

Option A is wrong because Group By aggregates data by grouping rows and computing summary statistics (e.g., sum, count), not for combining tables based on key columns. Option B is wrong because Append Queries stacks rows from two tables vertically, requiring identical column structures, and does not join on a key relationship. Option D is wrong because Pivot Column transforms unique values from a column into new columns, typically for reshaping data, not for merging related tables.

878
Multi-Selecthard

You are creating a Power BI report that uses a composite model with DirectQuery and imported tables. Which two considerations should you keep in mind?

Select 2 answers
A.Some DAX functions may have limitations when used across storage modes
B.Relationships can only be defined between tables of the same storage mode
C.Performance may be impacted if the report requires aggregations from both sources
D.DirectQuery tables cannot be related to imported tables
E.All measures must be created in the imported tables
AnswersA, C

Functions like STOCK, etc., may have restrictions.

Why this answer

Option A is correct because in a composite model, DAX functions that require data to be in-memory (like time intelligence functions) may not work correctly when referencing DirectQuery tables, as those tables remain in the source database. Additionally, certain DAX functions (e.g., `DISTINCTCOUNT`, `VALUES`) can behave differently or have restrictions when used across storage modes, such as returning limited results or requiring specific filter contexts.

Exam trap

The trap here is that candidates assume all relationships must be within the same storage mode or that DirectQuery tables cannot be related to imported tables, but composite models explicitly allow cross-mode relationships, and the key limitation is on certain DAX functions and performance, not on relationship or measure placement.

879
MCQmedium

A Power BI developer has a fact table that contains sales data at the transaction level. The table includes columns: TransactionID, ProductID, CustomerID, DateKey, Quantity, UnitPrice, Discount, and SalesAmount. The developer wants to create a measure for total sales after discount. Which approach is best for performance and accuracy?

A.Create a measure: SUM(Sales[SalesAmount]) - SUM(Sales[Discount])
B.Add a calculated column in Power Query: NetAmount = Quantity * UnitPrice - Discount, then create a measure: SUM(Sales[NetAmount])
C.Create a measure: SUMX(Sales, Sales[Quantity] * Sales[UnitPrice] - Sales[Discount])
D.Create a measure: SUM(Sales[Quantity] * Sales[UnitPrice]) - SUM(Sales[Discount])
AnswerB

Calculated columns are computed at refresh time, improving query performance.

Why this answer

Option B is correct because it performs the net amount calculation at the row level in Power Query (M), which is computed during data refresh and stored in the table. This avoids runtime row-by-row iteration in DAX, making the measure SUM(Sales[NetAmount]) a simple, highly efficient aggregation. It ensures both performance and accuracy, as the discount is applied per transaction before aggregation.

Exam trap

The trap here is that candidates often assume a DAX measure using SUMX or a simple subtraction of aggregated columns is equivalent in performance, but the exam tests the understanding that pre-calculating row-level logic in Power Query (M) is the most performant approach for large fact tables, while also ensuring mathematical accuracy.

How to eliminate wrong answers

Option A is wrong because subtracting SUM(Discount) from SUM(SalesAmount) is mathematically incorrect when discounts are stored as absolute values per row; it would only work if Discount were a total discount amount per row, but here it is a per-row value that should be subtracted from the row’s net amount, not aggregated separately. Option C is wrong because SUMX iterates over the entire table row by row at query time, which is slower than a pre-calculated column, especially for large fact tables; it also forces the calculation engine to evaluate the expression for every row during measure execution. Option D is wrong because SUM(Sales[Quantity] * Sales[UnitPrice]) is invalid syntax in DAX—SUM expects a single column reference, not an expression; this would cause a syntax error or unexpected behavior, and even if corrected, it would still suffer from the same aggregation-order issue as Option A.

880
MCQmedium

A sales manager wants to create a report that shows year-over-year growth for each product category. They have a date table and a sales table with daily sales. Which DAX measure should they use to calculate the previous year's sales?

A.Sales PY = CALCULATE(SUM(Sales[Amount]), DATEADD(Date[Date], -1, YEAR))
B.Sales PY = CALCULATE(SUM(Sales[Amount]), PARALLELPERIOD(Date[Date], -1, YEAR))
C.Sales PY = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Date[Date]))
D.Sales PY = CALCULATE(SUM(Sales[Amount]), PREVIOUSYEAR(Date[Date]))
AnswerC

SAMEPERIODLASTYEAR returns a set of dates shifted one year back and is the standard for year-over-year calculations in time intelligence.

Why this answer

Option C is correct because SAMEPERIODLASTYEAR is the most straightforward and reliable DAX function for calculating the previous year's sales when you have a proper date table. It automatically shifts the current filter context back by one year, ensuring that the measure returns the exact same period (e.g., same month and day range) from the prior year, which is ideal for year-over-year growth calculations.

Exam trap

The trap here is that candidates often confuse PREVIOUSYEAR (which returns the entire prior calendar year) with SAMEPERIODLASTYEAR (which returns the same relative period), leading them to choose D when the question requires a period-over-period comparison rather than a full-year comparison.

How to eliminate wrong answers

Option A is wrong because DATEADD with -1 YEAR shifts the date context by exactly one year but can produce unexpected results when the date range includes leap days or partial periods, and it requires careful handling of contiguous date ranges. Option B is wrong because PARALLELPERIOD returns a full parallel period of the specified interval (e.g., a full year) rather than the exact same period, which can cause misalignment when comparing partial periods like a month-to-date or quarter-to-date. Option D is wrong because PREVIOUSYEAR always returns the entire previous calendar year, regardless of the current filter context (e.g., if you filter for Q1 2023, PREVIOUSYEAR would return all of 2022, not just Q1 2022), making it unsuitable for year-over-year comparisons at sub-year granularities.

881
MCQmedium

You are modeling data from a SQL database that has a table with columns: OrderID, CustomerID, OrderDate, ProductID, Quantity, and Price. You want to create a star schema in Power BI. Which columns should you move to dimension tables?

A.OrderDate, Quantity, Price
B.Quantity, Price, OrderID
C.CustomerID, ProductID, OrderDate
D.OrderID, Quantity, Price
AnswerC

These are foreign keys that should be replaced by dimension attributes.

Why this answer

Option B is correct because CustomerID, ProductID, and OrderDate are foreign keys that link to dimension tables. Option A is wrong because OrderID is the primary key of the fact table. Option C is wrong because Quantity and Price are measures.

Option D is wrong because Price is a measure.

882
Multi-Selecteasy

Which TWO are valid Power BI workspace roles?

Select 2 answers
A.Viewer
B.Admin
C.Owner
D.Reader
E.Editor
AnswersA, B

Correct. Viewer is a workspace role.

Why this answer

Options A and D are correct. Admin and Viewer are standard workspace roles. Option B is wrong because 'Editor' is not a Power BI workspace role; the equivalent is 'Contributor' or 'Member'.

Option C is wrong because 'Owner' is the same as Admin. Option E is wrong because 'Reader' is not a role; 'Viewer' is the correct term.

883
Multi-Selecteasy

Which TWO of the following are valid DAX functions for time intelligence?

Select 2 answers
A.TOTALYTD
B.RANKX
C.SUM
D.CALCULATE
E.SAMEPERIODLASTYEAR
AnswersA, E

Returns year-to-date total.

Why this answer

TOTALYTD is a valid DAX time intelligence function that calculates the year-to-date value of an expression, typically used with a date column to aggregate data from the start of the year to the current context. It requires a properly marked date table with continuous dates to function correctly.

Exam trap

Microsoft often tests the distinction between general DAX functions (like CALCULATE and SUM) and dedicated time intelligence functions, trapping candidates who assume any function that works with dates qualifies as time intelligence.

884
MCQeasy

You want to create a measure that calculates the percentage of total sales for each product category. What DAX function should you use to get the grand total?

A.VALUES
B.ALLSELECTED
C.REMOVEFILTERS
D.ALL
AnswerD

ALL('Sales'[Category]) in CALCULATE gives grand total.

Why this answer

ALL removes filters from a table or column. Option A is correct. Option B is wrong because ALLSELECTED respects user filter selections.

Option C is wrong because REMOVEFILTERS is similar but less common for this use. Option D is wrong because VALUES returns distinct values.

885
MCQhard

You are designing a Power BI data model for a sales analysis. The source data has a table 'Orders' with columns: OrderID, CustomerID, ProductID, OrderDate, Quantity, UnitPrice. You also have a table 'Customers' with CustomerID, CustomerName, and 'Products' with ProductID, ProductName. You need to create a star schema. What should you do?

A.Split Orders into multiple fact tables by year
B.Create a snowflake schema by normalizing Customers and Products further
C.Keep Customers and Products as separate dimension tables, and Orders as the fact table
D.Merge Customers and Products into a single dimension table
AnswerC

Star schema has dimensions and one fact table connected by keys.

Why this answer

Option C is correct because in a star schema, a single fact table (Orders) stores quantitative measures (Quantity, UnitPrice) and foreign keys (CustomerID, ProductID) that link to dimension tables (Customers, Products) containing descriptive attributes. This design optimizes query performance by reducing joins and enabling efficient aggregation, which is a best practice for Power BI data modeling.

Exam trap

Microsoft often tests the misconception that splitting fact tables by time (e.g., year) is beneficial, but the correct approach is to keep a single fact table with a date dimension for time-based analysis.

How to eliminate wrong answers

Option A is wrong because splitting Orders into multiple fact tables by year would break the star schema principle of having a single fact table per business process, leading to complex cross-table queries and loss of historical trend analysis. Option B is wrong because creating a snowflake schema by normalizing Customers and Products further (e.g., splitting CustomerName into separate tables) would increase the number of joins and degrade query performance in Power BI, which prefers denormalized dimension tables. Option D is wrong because merging Customers and Products into a single dimension table would create a non-conformed dimension with mixed attributes, causing data redundancy and making it impossible to analyze customers and products independently.

886
MCQmedium

You need to ensure that a Power BI report published to the service can be embedded in a secure internal SharePoint Online page. Only authenticated users from your Microsoft Entra ID tenant should be able to view the report. What should you do?

A.Use the 'Embed in SharePoint Online' option in Power BI service.
B.Share the report directly with all users and provide a direct link.
C.Use the 'Publish to web (public)' option and embed the iframe in SharePoint.
D.Use the 'Embed' option in Power BI service to generate a secure embed code, then add the Power BI web part in SharePoint.
AnswerD

Secure embedding with permissions respected.

Why this answer

Embedding a report securely requires using the 'embed' option with a secure embed code that respects user permissions, and then adding the report to SharePoint via the Power BI web part. Option C is correct. Option A is wrong because Publish to web is public.

Option B is wrong because sharing with specific users without embedding is not embedding. Option D is wrong because allowing all authenticated users is too broad.

887
MCQeasy

You need to create a Power BI report that shows sales by region and by product category. Users should be able to click on a region and see the sales for that region across all product categories. What is the best way to enable this?

A.Set up a drillthrough page that filters by region
B.Enable cross-filtering between the region slicer and the category chart
C.Use a report page tooltip to show category details
D.Create a bookmark for each region
AnswerB

Clicking a region cross-filters the category chart.

Why this answer

Cross-filtering is the simplest method. Option B is correct. Option A is wrong because drillthrough navigates to a detail page.

Option C is wrong because tooltips don't change the visual. Option D is wrong because bookmarks require manual setup.

888
MCQmedium

You have a Power BI report that uses a dataset with row-level security (RLS) roles. You need to verify that a specific user sees only the data they are supposed to see. What is the most efficient way to test this?

A.Run a DAX query in DAX Studio as the user.
B.Use the 'View as' feature in the Power BI service or Desktop.
C.Check the dataset settings in the workspace.
D.Share the report with the user and ask them to verify.
AnswerB

'View as' allows impersonation of roles or users.

Why this answer

Option B is correct because 'View as' allows you to impersonate a user and see exactly what they see. Option A is incorrect because manually checking the dataset is not efficient. Option C is incorrect because you cannot verify in the dataset settings.

Option D is incorrect because checking the report after sharing is less efficient.

889
MCQhard

A Power BI report uses a DirectQuery data source. The model includes a calculated column that uses the RELATED function to bring a value from another table. The report is performing slowly. What design change would most improve performance without compromising functionality?

A.Remove the RELATED function and merge tables in the source query.
B.Convert the model to Import mode.
C.Use a measure instead of a calculated column.
D.Replace the calculated column with a calculated table that includes the related column.
AnswerD

A calculated table is materialized in the model, reducing query-time computation and improving performance.

Why this answer

Option D is correct because replacing the calculated column with a calculated table that includes the related column moves the join logic to query time, reducing the per-row overhead of the RELATED function in DirectQuery mode. In DirectQuery, calculated columns are evaluated row-by-row for each query, which can cause significant performance degradation; a calculated table is materialized once during refresh (or in DirectQuery, it is resolved as a single query to the source), avoiding repeated row-level lookups. This change preserves the functionality of having the related value available in the table while improving query performance.

Exam trap

The trap here is that candidates often assume measures are always faster than calculated columns, but in DirectQuery, measures cannot replace columns needed for row-level operations, and the real performance gain comes from avoiding row-by-row evaluation by using a calculated table instead.

How to eliminate wrong answers

Option A is wrong because merging tables in the source query would require modifying the underlying data source, which may not be feasible or maintainable, and it does not address the performance issue caused by the calculated column's row-by-row evaluation in DirectQuery. Option B is wrong because converting to Import mode would change the data connectivity model entirely, potentially breaking real-time data requirements or exceeding memory limits, and it is not a targeted fix for the calculated column performance issue. Option C is wrong because a measure cannot replace a calculated column if the related value is needed for row-level filtering, grouping, or as a field in visuals; measures are evaluated in filter context and cannot be used as a column in slicers or as a row label in tables.

890
MCQhard

You are modeling data for a retail company. The fact table contains sales transactions with columns: OrderDate, ProductID, CustomerID, Quantity, and SalesAmount. You also have dimension tables: Date, Product, Customer. The Date table has a relationship to the fact table on OrderDate, and the Customer table has a relationship to the fact table on CustomerID. However, you need to support analysis by both OrderDate and ShipDate. What is the recommended approach?

A.Create a calculated column that combines OrderDate and ShipDate into a single date column
B.Create a second Date table and add an inactive relationship from ShipDate to the new Date table, then use USERELATIONSHIP in measures
C.Add ShipDate as a column in the fact table and use it directly in calculations
D.Create two active relationships from the fact table to the Date table: one on OrderDate and one on ShipDate
AnswerB

This pattern allows analysis by both dates while maintaining model integrity.

Why this answer

Option D is correct because creating a second Date table with an inactive relationship for ShipDate allows you to use USERELATIONSHIP in measures to switch between active and inactive relationships as needed. Option A is wrong because multiple active relationships cause ambiguity and errors. Option B is wrong because merging ShipDate into a single column loses the original ship date information.

Option C is wrong because using the ShipDate directly without a date table limits time intelligence.

891
MCQeasy

You have two tables: 'Orders' and 'Customers'. You want to create a relationship where each order is linked to one customer, but a customer can have many orders. Which cardinality should you choose?

A.Many-to-many (*:*)
B.Many-to-one (*:1) from Orders to Customers
C.One-to-many (1:*) from Orders to Customers
D.One-to-one (1:1)
AnswerB

Orders table has many rows per customer, so many-to-one from Orders to Customers.

Why this answer

Option A is correct because one-to-many from Customers to Orders is the natural direction. Option B is reverse. Option C is wrong because many-to-many is not appropriate.

Option D is wrong because one-to-one is too restrictive.

892
MCQmedium

You manage a Power BI environment where users frequently share reports by sending the URL from the browser. However, external recipients often receive an error saying they cannot access the report. What is the most likely reason?

A.The 'Share content with external users' setting is disabled in the tenant.
B.External users do not have a Power BI Pro license.
C.External users are not part of the same Microsoft Entra tenant.
D.The report is not published to the Power BI service.
AnswerA

This admin setting must be enabled for external sharing to work.

Why this answer

Option D is correct. By default, sharing with external users requires the 'Share with external users' setting to be enabled in the Power BI admin portal. Option A is wrong because external users do not need a Power BI Pro license if the report is shared to them; they can view it if the setting is enabled.

Option B is wrong because external users can access the report even if they are not in the same tenant. Option C is wrong because the report is already published to the service.

893
Multi-Selecteasy

Which TWO of the following are required to configure a Power BI deployment pipeline?

Select 2 answers
A.The user must be a workspace admin.
B.Power BI Desktop installed on the admin's machine.
C.A Premium workspace (Premium per user or Premium capacity).
D.A Power BI Pro license for all users.
E.Users must have 'Build' permission on the dataset.
AnswersA, C

Only workspace admins can create and manage pipelines.

Why this answer

Options A and C are correct. A Premium workspace is required because deployment pipelines are a Premium feature. The user must have admin privileges on the workspace to create and manage pipelines.

Option B is wrong because a Pro license is not required; a Premium per user or capacity license is needed. Option D is wrong because Power BI Desktop is not required; pipelines are managed in the service. Option E is wrong because pipelines can be used with Pro users if the workspace is Premium.

894
MCQhard

You have a fact table 'Transactions' with 100 million rows. You need to reduce the model size without losing detail. Which action is most effective?

A.Remove columns that are not used in reports
B.Group rows by date and sum amounts
C.Use a composite model with DirectQuery
D.Create aggregations on the table
AnswerA

Removing unused columns reduces storage.

Why this answer

Option A is correct because removing unnecessary columns reduces storage. Option B is wrong because aggregations reduce detail. Option C is wrong because composite models still store data.

Option D is wrong because grouping is not the best for size reduction.

895
MCQhard

You are designing a Power BI report for executives. The report must show sales performance across regions, with the ability to drill down from region to country to city. The data model includes a Sales table and a Geography table. Which type of hierarchy should you create in the Geography table to enable drill-down?

A.Create a calculated table that combines region, country, and city.
B.Create a relationship between the Sales table and a Geography table that includes region, country, and city columns.
C.Create a parent-child hierarchy in the Geography table using the region, country, and city columns.
D.Add a calculated column that concatenates region, country, and city.
AnswerC

A parent-child hierarchy enables drill-down.

Why this answer

Option C is correct because creating a parent-child hierarchy in the Geography table enables drill-down in Power BI visuals. Option A is wrong because a calculated table is unnecessary. Option B is wrong because a calculated column alone does not create a hierarchy.

Option D is wrong because a relationship between tables does not enable drill-down hierarchy.

896
MCQhard

You have a Power BI report that uses a composite model with a DirectQuery source from Azure SQL Database and an imported table from Excel. You need to ensure that when a user filters the imported table, the DirectQuery table is also filtered accordingly. What should you configure?

A.Set the relationship direction to filter the DirectQuery table from the imported table.
B.Merge the imported table into the DirectQuery source.
C.Enable bidirectional cross-filtering on the relationship between the tables.
D.Create a calculated column in the DirectQuery table that references the imported table.
AnswerA

Single-direction filtering from imported to DirectQuery is supported.

Why this answer

Option D is correct because setting a relationship between the DirectQuery table and the imported table, with the imported table as the filter direction, allows filtering across storage modes. Option A is wrong because a calculated column in the DirectQuery table would not automatically filter based on the imported table. Option B is wrong because enabling bidirectional cross-filtering on relationships between DirectQuery and imported tables is not supported in composite models.

Option C is wrong because merging tables would change the data model and may not be necessary.

897
MCQmedium

You manage a Power BI environment where users create reports using data from Azure SQL Database. You need to enforce that all data sources use Single Sign-On (SSO) with Microsoft Entra ID. What should you do?

A.In the Power BI admin portal, block authentication methods other than OAuth2.
B.Configure the dataset to use SSO in the Power BI service.
C.Enable the 'Allow data sources to use SSO' tenant setting.
D.Create a security group for SSO-enabled data sources and assign it to the workspace.
AnswerA

Blocking non-OAuth methods forces SSO.

Why this answer

Option D is correct because you can block other authentication methods via tenant settings in the Power BI admin portal. Option A is incorrect because SSO is configured per data source, not globally in a security group. Option B is incorrect because the 'Allow data sources to use SSO' setting enables SSO but does not block other methods.

Option C is incorrect because you cannot block authentication methods in the dataset itself.

898
MCQmedium

You are reviewing a Power BI dataset configuration in the service. The JSON shows a data source for an Azure SQL Database. Which statement about the configuration is correct?

A.The dataset uses key-based authentication and does not use single sign-on.
B.The dataset uses single sign-on with Azure AD.
C.The dataset is configured to use a cloud gateway for direct query.
D.The dataset uses cloud-only data sources and does not require a gateway.
AnswerA

authenticationKind is 'Key' and useSingleSignOn is false.

Why this answer

Option A is correct because the JSON configuration for an Azure SQL Database data source in Power BI typically includes a credential setting that specifies authentication type. When the JSON shows a data source with a credential type of 'Basic' or 'Key' (and no 'SingleSignOn' property set to true), it indicates key-based authentication (e.g., using a username and password or service principal key) and explicitly disables single sign-on (SSO). This means the dataset does not leverage the user's Azure AD identity for data access.

Exam trap

The trap here is that candidates often assume any Azure SQL Database connection automatically uses Azure AD SSO or requires a gateway, but the JSON's credential type explicitly reveals the authentication method, and cloud-native sources like Azure SQL Database do not inherently need a gateway.

How to eliminate wrong answers

Option B is wrong because single sign-on (SSO) with Azure AD would require the JSON to include a 'SingleSignOn' property set to true or a credential type of 'OAuth2' with an Azure AD token, which is not present in the given configuration. Option C is wrong because a cloud gateway (e.g., on-premises data gateway) is only required for on-premises or non-cloud data sources; an Azure SQL Database is a cloud-native data source and does not need a gateway for DirectQuery or import mode. Option D is wrong because while Azure SQL Database is a cloud-only data source, the statement is too broad and ignores that the dataset could still require a gateway if the Power BI service cannot directly connect due to network restrictions (e.g., VNet integration), but the JSON does not indicate any gateway configuration, so the correct inference is about authentication, not gateway necessity.

899
MCQmedium

You are a Power BI developer for a healthcare organization. You have a semantic model with a 'PatientVisits' fact table (columns: 'VisitID', 'PatientID', 'Date', 'Department', 'DurationMinutes', 'Cost') and a 'Patients' dimension table (columns: 'PatientID', 'Age', 'Gender', 'City'). You need to create a report page that shows the average cost per visit by department and age group. The age groups are: 0-18, 19-35, 36-50, 51-65, 65+. You want to use a custom visual that displays a matrix with departments as rows and age groups as columns, and the value as average cost. You have created a calculated column for age groups in the Patients table. However, when you place the age group column in the matrix columns, the values are not aggregated correctly; instead, each age group shows the same average cost as the overall average. What is the most likely cause?

A.The measure used is SUM of Cost instead of AVERAGE.
B.The age group column is not added to the matrix column field well; it should be in rows.
C.The relationship between PatientVisits and Patients is many-to-many, causing ambiguous filter propagation.
D.The age group calculated column is not part of the relationship chain; it is not being used as a filter.
AnswerC

A many-to-many relationship can cause filters to not propagate correctly, leading to same values in all groups.

Why this answer

The issue is that the age group column is from the Patients dimension, but the fact table does not have a direct relationship with the calculated column if the relationship is not properly set. However, more likely, the measure is not correctly referencing the fact table. Option C is correct: the measure should use AVERAGE of Cost from PatientVisits, but if the measure is defined as AVERAGE(PatientVisits[Cost]) without proper filter propagation, it might ignore the age group filter.

But actually, the typical cause is that the calculated column is not being used in the visual correctly; the matrix might be grouping by the age group column, but the measure might be summing over all rows. Option B (measure uses SUM instead of AVERAGE) would cause higher values, not same. Option A (relationship is many-to-many) could cause issues but not necessarily same values.

Option D (the age group column is not added to the visual level filter) is not relevant. The most likely is that the measure is not aggregated correctly because the age group column is from a different table and the filter context is not being transferred. But in a star schema, it should work.

Another possibility: the age group column is a calculated column that uses a static reference, but the issue might be that the visual is not using the correct granularity. Actually, the correct answer is that the measure needs to be defined to use the relationship correctly. However, given the options, Option C (the measure uses SUM instead of AVERAGE) would produce different numbers, but not identical across groups.

Option B (the relationship is many-to-many) could cause filter propagation issues. I'll choose B as the most likely.

900
MCQhard

You are designing a data model for a sales analysis report. The source data includes a Sales table with columns: OrderID, CustomerID, ProductID, OrderDate, Quantity, and UnitPrice. You also have a Customers table and a Products table. Which approach best optimizes query performance and storage?

A.Create a star schema with Sales as a fact table and Customers and Products as dimension tables.
B.Create separate fact tables for each dimension.
C.Create a single flat table by joining all columns from Sales, Customers, and Products into one table.
D.Create a snowflake schema by normalizing Customers into multiple related tables.
AnswerA

Star schema is recommended for optimal performance and simplicity.

Why this answer

Option A is correct because a star schema optimizes query performance and storage in Power BI by separating transactional data (Sales fact table) from descriptive attributes (Customers and Products dimension tables). This reduces data duplication, improves compression, and enables efficient aggregations and filter propagation via one-to-many relationships, which is the recommended modeling approach for analytical workloads.

Exam trap

The trap here is that candidates often choose a flat table (Option C) thinking it simplifies the model, but they overlook the severe storage and performance penalties from data duplication, which is a key anti-pattern in Power BI data modeling.

How to eliminate wrong answers

Option B is wrong because creating separate fact tables for each dimension would fragment the transactional data, requiring complex cross-filtering and joins, which degrades performance and increases storage overhead. Option C is wrong because a single flat table introduces massive data duplication (e.g., repeating customer and product attributes for every sale), inflating storage and slowing down query processing due to larger table scans. Option D is wrong because normalizing Customers into multiple related tables (snowflake schema) adds unnecessary join complexity in Power BI, which can degrade performance compared to a star schema, especially when using DirectQuery or large datasets.

Page 11

Page 12 of 13

Page 13