You have the above Power Query M script. What is the result of this transformation?
A.A table with one row per ProductID and columns: ProductID, Quantity
B.A table with all sales rows for 2023 and columns: ProductID, Quantity
C.A table with all sales rows for 2023 and columns: OrderDate, ProductID, Quantity, TotalQty
D.A table with one row per ProductID and columns: ProductID, TotalQty
AnswerD
Correct: grouped by ProductID, sum of Quantity as TotalQty.
Why this answer
Option D is correct because the script filters rows where OrderDate >= Jan 1 2023, removes the ProductDescription column, and groups by ProductID summing Quantity. The result is a table with one row per ProductID and a TotalQty column. Option A is wrong because it does not retain all columns.
Option B is wrong because it aggregates. Option C is wrong because it does not keep individual rows.
You are building a Power BI report that uses a large fact table with 100 million rows. The data source is a SQL Server view that filters data by a date range. You want to minimize the data loaded into the model while maintaining the ability to query any date range later. What should you do?
A.Switch to DirectQuery mode and rely on the source database for filtering.
B.Configure Incremental refresh with Detect data changes on the date column.
C.Use Import mode and apply a date filter in Power Query to limit rows.
D.Create a calculated table with only the required columns.
AnswerB
This loads only the changed/new partitions, reducing refresh load while keeping full history.
Why this answer
Option B is correct because Incremental refresh allows you to partition the fact table by date, loading only recent data into the model while keeping the ability to query historical data on demand. By enabling 'Detect data changes', Power BI can efficiently identify and refresh only the partitions that have changed, minimizing data load and refresh time. This approach maintains query performance for any date range because historical partitions remain available in the model without being re-imported.
Exam trap
The trap here is that candidates often choose Import mode with a static filter (Option C) thinking it reduces data load, but they overlook the requirement to query any date range later, which Incremental refresh uniquely satisfies by partitioning data dynamically.
How to eliminate wrong answers
Option A is wrong because DirectQuery mode does not minimize data loaded into the model; it sends queries to the source database, which can be slow for large fact tables and does not reduce the in-memory footprint. Option C is wrong because applying a date filter in Power Query to limit rows would permanently restrict the data loaded, preventing the ability to query any date range later. Option D is wrong because creating a calculated table with only required columns does not address the row-level filtering by date and still requires importing the entire fact table, failing to minimize data load.
You are importing data from an Excel workbook that contains multiple sheets. You only need data from the 'Sales' sheet. In Power Query Editor, what should you do to load only that sheet?
A.Load all sheets, then delete the queries for sheets you don't need.
B.In the Navigator dialog, select the 'Sales' sheet and click 'Transform Data'.
C.Use a filter transform to exclude rows from other sheets.
D.Select the entire workbook and then filter out other sheets in Power Query.
AnswerB
Navigator allows you to choose specific sheets or tables to load.
Why this answer
In Power Query Editor, the Navigator dialog allows you to preview and select specific tables or sheets from a data source before loading. By selecting the 'Sales' sheet and clicking 'Transform Data', you load only that sheet into Power Query Editor for transformation, avoiding unnecessary data. This is the correct and efficient method to import a single sheet from a multi-sheet Excel workbook.
Exam trap
The trap here is that candidates may think they can use a filter or query folding to exclude entire sheets after loading, but Power Query treats each sheet as a separate table, not as rows within a single table, so filtering cannot remove sheets.
How to eliminate wrong answers
Option A is wrong because loading all sheets and then deleting unwanted queries is inefficient and violates the principle of early data reduction; it also consumes memory and processing time for data that will be discarded. Option C is wrong because filter transforms operate on rows within a single table, not on sheets or tables; you cannot use a row filter to exclude entire sheets from a workbook. Option D is wrong because selecting the entire workbook in the Navigator dialog loads all sheets as separate queries, and Power Query does not support filtering out other sheets after loading; you would need to manually remove or disable the unwanted queries.
You are building a Power BI report for the HR department. You have a table 'Employees' with columns: EmployeeID, Name, Department, HireDate, Salary, and ManagerID. You need to create a hierarchy for organizational chart that allows users to drill from CEO down to individual employees. The hierarchy should be dynamic based on the ManagerID. Which approach should you use? A. Create a parent-child hierarchy using DAX PATH and PATHITEM functions. B. Create a calculated column that concatenates all manager levels. C. Use the built-in drill-down feature with a matrix visual. D. Create separate tables for each level and merge them. Which option is the best?
A.Create separate tables for each level and merge them
B.Use the built-in drill-down feature with a matrix visual
C.Create a calculated column that concatenates all manager levels
D.Create a parent-child hierarchy using DAX PATH and PATHITEM functions
AnswerD
This builds a dynamic hierarchy from ManagerID.
Why this answer
Option A is correct because Power BI supports parent-child hierarchies using DAX functions like PATH and PATHITEM to create a hierarchy from a self-referencing table. Option B is wrong because concatenation does not create a hierarchy. Option C is wrong because drill-down in a matrix requires explicit hierarchy levels.
Option D is wrong because creating separate tables is complex and not dynamic.
You are designing a Power BI report for executive leadership. The report must display key performance indicators (KPIs) with current values and trend arrows. Which visual type should you use?
A.Table visual
B.Card visual
C.KPI visual
D.Gauge visual
AnswerC
KPI visual displays value, trend, and goal.
Why this answer
Option C is correct because the KPI visual is specifically designed to show a current value, a status indicator (like trend arrow), and a goal. Option A is wrong because a card visual only shows a single value without trend. Option B is wrong because a gauge visual shows progress toward a goal but not a trend arrow.
Option D is wrong because a table visual is for detailed data, not KPIs.
Which TWO transformations in Power Query are most likely to cause Query Folding to stop? (Select two.)
Select 2 answers
A.Pivot columns.
B.Filter rows based on a date column.
C.Remove columns.
D.Rename a column.
E.Add a custom column with a complex M formula.
AnswersA, E
Pivoting typically cannot be folded.
Why this answer
Option A is correct because Pivot columns in Power Query often require a transformation that cannot be translated into a native SQL query, causing Query Folding to break. When you pivot a column, the engine must restructure data from rows to columns, which typically involves operations like grouping and aggregation that many source systems (e.g., SQL Server) cannot fold back to a single SELECT statement. This forces Power Query to pull all data locally before applying the pivot, stopping folding.
Exam trap
The trap here is that candidates often assume any transformation that changes data structure (like pivot) or uses custom logic will break folding, but they may overlook that simple operations like filtering, removing columns, or renaming are fully foldable, while only complex or non-native operations cause folding to stop.
You are reviewing a Power Query query that loads data from a SQL Server database. The query includes multiple steps that perform data transformation. You want to ensure that the query is optimized by pushing as many transformations as possible to the SQL Server. What should you look for?
A.View the native SQL query generated by Power Query.
B.Use the Performance Analyzer in Power BI Desktop.
C.Check for the 'Query Folding' indicators in the query editor.
D.Review the data preview for each step.
AnswerC
Power Query shows icons (e.g., a folded paper) to indicate that a step is folded to the source.
Why this answer
Option C is correct because query folding indicators in Power Query Editor show whether transformations are being pushed to the SQL Server source. When a step shows a 'folded' icon (a table with a down arrow), it means the transformation is translated into native SQL and executed on the server, reducing data transfer and improving performance. Checking these indicators directly confirms which steps are folded and which are not, allowing you to optimize the query by reordering or rewriting steps to maximize folding.
Exam trap
The trap here is that candidates often confuse viewing the native SQL query (Option A) with checking query folding indicators, but the native query only shows the final aggregated SQL, not the folding status of each individual step, which is what the question specifically asks for.
How to eliminate wrong answers
Option A is wrong because viewing the native SQL query generated by Power Query only shows the final folded query, not the folding status of individual steps; it does not help identify which specific transformations are being pushed. Option B is wrong because the Performance Analyzer in Power BI Desktop measures report and visual rendering performance, not query folding or source-side optimization of Power Query transformations. Option D is wrong because reviewing the data preview for each step shows the output of transformations but gives no indication of whether those transformations are being executed on the SQL Server or locally in Power Query.
You are connecting Power BI to an Azure SQL Database. The database contains a table with 10 million rows. You need to minimize the initial load time for the report. What should you do?
A.Use Import mode and create aggregations
B.Use DirectQuery mode
C.Use Dual mode
D.Use Import mode with Incremental refresh
AnswerB
DirectQuery queries the source on demand, eliminating initial load.
Why this answer
DirectQuery mode sends queries directly to the Azure SQL Database, avoiding the need to import 10 million rows into the Power BI model. This eliminates the initial data transfer and processing overhead, significantly reducing the initial load time for the report.
Exam trap
The trap here is that candidates often assume Import mode is always faster for initial load due to caching, but for very large datasets, the import overhead makes DirectQuery the better choice for minimizing initial load time.
How to eliminate wrong answers
Option A is wrong because Import mode with aggregations still requires importing the base data into the Power BI model, which incurs the full initial load time for 10 million rows; aggregations only optimize query performance after the data is loaded. Option C is wrong because Dual mode is a hybrid that caches data in memory for some tables while using DirectQuery for others, but it still requires importing data for the cached portion, which does not minimize initial load time for a large table. Option D is wrong because Import mode with Incremental refresh still requires an initial full import of the 10 million rows, and incremental refresh only reduces subsequent refresh times, not the initial load time.
Your Power BI dataset uses DirectQuery to an Azure SQL Database. Users complain that the report is slow. You need to improve query performance without changing the data source. What should you do?
A.Reduce the number of columns and rows retrieved by the report visuals.
B.Add more visuals to the report to distribute the load.
C.Switch the dataset to Import mode.
D.Increase the scheduled refresh frequency.
AnswerA
Less data means faster queries.
Why this answer
Option A is correct because reducing the number of columns and rows retrieved by report visuals directly minimizes the amount of data sent from Azure SQL Database to Power BI via DirectQuery. Since DirectQuery sends native queries to the source for each visual interaction, fewer columns and rows mean smaller, faster queries, which reduces overall latency without altering the underlying data source.
Exam trap
The trap here is that candidates often confuse DirectQuery with Import mode and assume that increasing refresh frequency or switching modes is a valid performance fix, when in fact the question explicitly prohibits changing the data source, and DirectQuery has no refresh schedule.
How to eliminate wrong answers
Option B is wrong because adding more visuals increases the number of separate queries sent to the Azure SQL Database, which compounds the load and worsens performance, not distributes it. Option C is wrong because switching to Import mode changes the data storage method and requires a scheduled refresh, which violates the constraint of not changing the data source (the source remains Azure SQL, but the mode change alters how data is accessed and stored, which is a fundamental change to the dataset architecture). Option D is wrong because increasing scheduled refresh frequency only affects Import mode datasets; in DirectQuery, there is no scheduled refresh—queries are executed live against the source, so this option is irrelevant and would not improve query performance.
You have a table with columns 'Date', 'Sales', and 'Quantity'. You need to create a measure that calculates the average sales per transaction. Which DAX measure should you use?
A.AVERAGE(Sales[Quantity])
B.AVERAGE(Sales[Sales])
C.DIVIDE(SUM(Sales[Sales]), SUM(Sales[Quantity]))
D.SUM(Sales[Sales])
AnswerB
AVERAGE calculates the arithmetic mean of the Sales column.
Why this answer
Option B is correct because AVERAGE of Sales gives average per row. Option A totals sales, not average. Option C averages Quantity, not Sales.
Option D divides total sales by total quantity, which is not average per transaction.
You have the DAX measure shown. The measure returns blank for some periods even though there are sales in the current period. What is the most likely cause?
A.The Date table does not contain all dates from the previous year.
B.The measure is not properly filtered by the current context.
C.The variable CurrentSales is not evaluated correctly.
D.The DIVIDE function returns blank when denominator is zero.
AnswerA
SAMEPERIODLASTYEAR requires a full date range.
Why this answer
Option B is correct because SAMEPERIODLASTYEAR requires a contiguous date table to work correctly; if dates are missing, it returns blank. Option A is wrong because the measure does not have filter context issues by default. Option C is wrong because DIVIDE handles division by zero and returns blank, but the issue is that PreviousSales is blank.
Option D is wrong because the measure is not using a variable incorrectly.
A company has Power BI Premium capacity. They want to allow developers to deploy datasets using the XMLA endpoint with a service principal. What must the admin configure?
A.Enable service principal access in the Power BI admin portal under 'Developer settings'.
B.Install an on-premises data gateway.
C.Add the service principal as a member of the workspace.
D.Create an app registration in Microsoft Entra ID.
AnswerA
Service principal access must be explicitly enabled for the tenant.
Why this answer
Option C is correct because service principals need to be enabled in the capacity settings and assigned to the workspace. Option A is wrong because service principals need specific permissions, not just reader. Option B is wrong because the gateway is not required for cloud sources.
Option D is wrong because app registration is needed but enabling in capacity is the key step.
Which THREE of the following are valid considerations for choosing between Import and DirectQuery storage modes? (Select three.)
Select 3 answers
A.Import mode provides faster query performance for aggregated data
B.DirectQuery mode supports all DAX functions without limitations
C.Import mode has a maximum data size limit (e.g., 1 GB per dataset in shared capacity)
D.DirectQuery mode cannot query large data sources
E.DirectQuery mode is suitable when real-time data is required
AnswersA, C, E
Data is preloaded into memory.
Why this answer
Option A is correct: Import mode has size limits. Option C is correct: DirectQuery provides real-time access. Option D is correct: Import mode offers faster performance.
Option B is wrong: DirectQuery can query large data, but Import can also handle large data via incremental refresh. Option E is wrong: DirectQuery does not support all DAX functions, but the statement is too absolute.
Refer to the exhibit. You load the Sales table into Power BI. You need to calculate the total net sales after discount (SalesAmount * (1 - Discount)). However, some rows have Null in the Discount column. What is the correct DAX measure?
Option B is correct because it uses SUMX to iterate over each row of the Sales table, applying the calculation row-by-row, and uses COALESCE to replace any NULL in the Discount column with 0, ensuring the discount is correctly treated as zero for rows without a discount. This avoids the aggregation errors that occur when using SUM on the Discount column directly.
Exam trap
The trap here is that candidates often choose Option C, thinking that DAX will automatically ignore NULLs in multiplication, when in fact any NULL operand produces a NULL result, leading to incorrect totals.
How to eliminate wrong answers
Option A is wrong because it aggregates SalesAmount and Discount separately with SUM, then multiplies the totals, which incorrectly applies a single aggregated discount rate to the total sales amount rather than calculating row-by-row. Option C is wrong because it does not handle NULL values in the Discount column; any row with a NULL discount will cause the entire multiplication to result in NULL, producing incorrect totals. Option D is wrong because it uses DIVIDE with (1 - Sales[Discount]) as the denominator, which is mathematically incorrect for calculating net sales after discount and also fails to handle NULLs.
Which TWO actions are required to set up a Power BI deployment pipeline with separate data sources for Development and Production?
Select 2 answers
A.Define dataset parameters in Power BI Desktop for data source values.
B.Assign the dataset owner to each stage workspace.
C.Configure parameter rules in the deployment pipeline to map parameters to stage-specific values.
D.Re-enter data source credentials for each stage after deployment.
E.Create separate gateways for each stage.
AnswersA, C
Parameters allow you to change data source at deployment time.
Why this answer
Option A is correct because defining dataset parameters in Power BI Desktop for data source values allows you to make the data source connection dynamic. These parameters can then be overridden at each stage of the deployment pipeline, enabling separate data sources for Development and Production without modifying the report file.
Exam trap
The trap here is that candidates often confuse credential management (Option D) with parameter-based data source separation, or assume that separate gateways (Option E) are mandatory, when in fact parameter rules are the correct and efficient method for stage-specific data sources.
You have a table with a column 'FullName' that contains names in the format 'Last, First'. You need to split this column into 'LastName' and 'FirstName' columns. Which Power Query transformation should you use?
A.Pivot the FullName column.
B.Split Column by Delimiter using comma.
C.Group By the FullName column and aggregate.
D.Extract first characters using 'Extract' transformation.
AnswerB
This splits the column into two columns.
Why this answer
Option B is correct because the 'Split Column by Delimiter' transformation in Power Query is specifically designed to divide a single text column into multiple columns based on a specified delimiter, such as a comma. In this case, the 'FullName' column contains names in the 'Last, First' format, so splitting by a comma delimiter will correctly separate the last name and first name into two distinct columns.
Exam trap
The trap here is that candidates might confuse 'Split Column by Delimiter' with 'Extract' or 'Pivot', thinking that extracting the first few characters or pivoting the column could achieve the same result, but only the delimiter-based split correctly handles the variable-length 'Last, First' format.
How to eliminate wrong answers
Option A is wrong because Pivot transforms unique values from a column into new columns and aggregates associated data, which is not applicable for splitting a single text column. Option C is wrong because Group By aggregates rows based on a column and computes summary statistics, not splitting text values within a cell. Option D is wrong because the 'Extract' transformation (e.g., Extract First Characters) only retrieves a fixed number of characters from the start of a string, which cannot handle variable-length names separated by a delimiter.
You are building a Power BI report that uses a DirectQuery source. Which TWO of the following actions can improve report performance?
Select 2 answers
A.Add calculated columns to the model.
B.Disable the 'Reduce queries sent to the source' option.
C.Reduce the number of visuals on each report page.
D.Use complex DAX measures with many nested functions.
E.Create summary tables in the data source to pre-aggregate data.
AnswersC, E
Fewer visuals mean fewer queries.
Why this answer
Options A and D are correct. A: Reducing the number of visuals decreases the number of queries sent to the source. D: Creating aggregations in the source can speed up query responses.
Option B is wrong because using many calculated columns increases query complexity. Option C is wrong because disabling query reduction would increase the number of queries.
You are analyzing a Power BI dataset definition. The dataset refreshes but recently started failing with the error 'The 'OrderDate' column of the table 'Orders' has a date value that is out of range.' You need to diagnose the issue. What is the most likely cause?
A.The source table contains a date value that is not recognized as a valid DateTime by Power BI.
B.The columns in the dataset definition do not match the source table.
C.The connection string is invalid.
D.The M expression has a syntax error.
AnswerA
Out of range errors often occur due to invalid date values.
Why this answer
The error message indicates that a date value in the 'OrderDate' column of the 'Orders' table is out of the range supported by Power BI's DateTime type (1/1/1900 00:00:00 to 12/31/9999 23:59:59.999). This typically occurs when the source contains a date like '0001-01-01' or a future date beyond the upper bound, which Power BI cannot convert to a valid DateTime. Option A is correct because the source table has a date value that is not recognized as a valid DateTime by Power BI, causing the refresh to fail.
Exam trap
The trap here is that candidates often confuse a date-out-of-range error with a data type mismatch error (e.g., text vs. date), but the specific wording 'out of range' points to a valid date value that falls outside Power BI's supported DateTime range, not an invalid format.
How to eliminate wrong answers
Option B is wrong because a mismatch between dataset columns and source columns would produce a different error, such as 'The column 'X' of the table 'Y' was not found' or a schema mismatch, not a date-out-of-range error. Option C is wrong because an invalid connection string would cause a connection failure error (e.g., 'Cannot connect to the data source') before any data is loaded, not a date validation error during refresh. Option D is wrong because an M expression syntax error would be caught during query parsing and would produce a syntax error message, not a runtime data validation error about a specific column value being out of range.
You manage a Power BI environment where users frequently create personal workspaces. The finance team requires that all financial reports be placed in a managed workspace to enforce data protection labels from Microsoft Purview. What should you implement to prevent users from saving financial reports to their personal workspaces?
A.Require sensitivity labels on all financial datasets.
B.Disable the 'Allow sharing with external users' tenant setting.
C.Enable the 'Block external data sharing' setting in Microsoft Purview.
D.Disable the 'Create workspaces (My Workspace)' tenant setting in the admin portal.
AnswerD
Disabling this setting prevents users from creating personal workspaces, enforcing the use of managed workspaces.
Why this answer
Option C is correct because the Power BI admin portal allows you to block the creation of personal workspaces, forcing users to use managed workspaces. Option A is wrong because sensitivity labels are applied to content but do not prevent saving to personal workspaces. Option B is wrong because tenant settings for sharing do not restrict workspace creation.
Option D is wrong because the external data sharing setting is unrelated.
You are designing a data model for a report that shows sales by region and product category. The source data includes a table 'Sales' with columns: Region, Category, SalesAmount. You also have separate tables 'Regions' and 'Categories' that contain additional attributes. You need to create a star schema. What should you do with the 'Region' and 'Category' columns in the 'Sales' table?
A.Remove them from the Sales table and use foreign keys to link to the dimension tables
B.Keep them in the Sales table as attributes for simplicity
C.Merge the Regions and Categories tables into the Sales table
D.Mark the Sales table as a date table
AnswerA
This creates a proper star schema with normalized dimensions.
Why this answer
Option C is correct because in a star schema, dimension tables contain the attributes, and fact tables contain foreign keys. Removing the columns and using foreign keys normalizes the model. Option A is wrong because keeping them duplicates data and increases model size.
Option B is wrong because merging them is not necessary and can complicate the model. Option D is wrong because marking as date tables is irrelevant for region and category.
Refer to the exhibit. This JSON defines a row-level security (RLS) role in Power BI. A user assigned to the 'Sales Manager' role runs a report that shows total sales across all regions. The sum displayed is lower than expected. What is the most likely reason?
A.The role name 'Sales Manager' does not match the user's job title
B.The RLS filter restricts data to the West region only
C.The user is not a member of the role
D.The FILTER function syntax is incorrect and causes an error
AnswerB
The filter limits the rows visible to the user, so the sum reflects only West region.
Why this answer
Option B is correct because the RLS role filters the Sales table to only show rows where Region is 'West', so the total sum only includes West region sales. Option A is wrong because the filter is applied regardless of the role's name. Option C is wrong because the sum is not a bug; it's the intended behavior.
Option D is wrong because the user is in the role, so RLS is enforced.
You need to combine data from three different SharePoint lists into a single table for analysis. The lists have different column names but contain similar data. What is the best approach in Power Query?
A.Use 'Unpivot Columns' to transform the data.
B.Use 'Group By' to combine values.
C.Use 'Append Queries' and then rename columns to match.
Append Queries is the correct approach because it stacks rows from multiple tables (SharePoint lists) into a single table, which is exactly what you need when combining data with similar structures but different column names. After appending, you can rename columns to unify the schema. This is the standard Power Query method for row-level concatenation of tables.
Exam trap
The trap here is that candidates confuse 'Append' (row stacking) with 'Merge' (column joining), often choosing Merge because they think they need a 'common key' to combine data, but the question explicitly states the lists have different column names, making a key-based join inappropriate.
How to eliminate wrong answers
Option A is wrong because Unpivot Columns transforms columns into rows, which is used for normalizing wide tables, not for combining separate tables. Option B is wrong because Group By aggregates data (e.g., sum, count) and would lose individual row details, not combine lists. Option D is wrong because Merge Queries joins tables horizontally based on a common key, which is for relational lookups, not for stacking rows from different sources.
You have a report that contains a map visual showing sales by city. Several cities are missing from the map because the location data is ambiguous. What should you do to resolve this?
A.Add latitude and longitude fields to the model.
B.Create a calculated column that combines city and country to provide unambiguous location.
C.Replace the map visual with a table.
D.Adjust the bubble size to make missing points visible.
AnswerB
Combining fields resolves ambiguity in location mapping.
Why this answer
Option A is correct because creating a custom location field with city and country or state ensures accurate mapping. Option B is wrong because latitude/longitude would work but is not the simplest fix. Option C is wrong because bubble size is for value, not location accuracy.
Option D is wrong because the map visual relies on location fields.
You have a Power BI model with a table 'Sales' that contains a column 'OrderDate'. You need to create a calculated column that extracts the year from OrderDate. Which DAX expression should you use?
Option B is correct because YEAR function returns the year from a date. Option A is wrong because FORMAT returns text. Option C is wrong because DATEPART is not a DAX function (it is SQL).
Option D is wrong because CALENDAR returns a table, not a scalar.
You are a Power BI administrator for a large enterprise. The organization uses Microsoft Purview Information Protection sensitivity labels. You have enabled sensitivity labels in the Power BI admin portal and published labels in the Microsoft 365 Compliance Center. Users have been assigned the appropriate licenses. However, when a user tries to apply a sensitivity label to a report in the Power BI service, the label options are grayed out. The user has a Power BI Pro license and is a Member of the workspace where the report resides. The report is stored in a workspace that is backed by a Premium capacity. What is the most likely reason the user cannot apply the label?
A.The user does not have the required Azure Rights Management (Azure RMS) license or permissions to apply labels.
B.The sensitivity labels have not been published to the user's security group.
C.The workspace is not enabled for sensitivity labels; you need to enable labels at the workspace level.
D.The user's role in the workspace is insufficient; they need at least Contributor role to apply labels.
AnswerA
Applying labels requires Azure Information Protection rights.
Why this answer
Option C is correct because to apply sensitivity labels in Power BI, the user must have the 'Azure Information Protection' (AIP) rights (e.g., 'Rights Management' or 'Protection') enabled. Even with a Pro license, if the user does not have the AIP add-on or the rights assigned, they cannot apply labels. Option A is wrong because the workspace is backed by Premium, but labels work in shared capacity too.
Option B is wrong because the user is a Member, which allows editing. Option D is wrong because the labels are published.
A data analyst is preparing data from multiple Excel files stored in SharePoint. Each file has the same structure but different data. Which THREE steps are necessary to combine these files into a single table in Power Query?
Select 3 answers
A.Use the 'Merge Queries' feature to join the files.
B.Create a connection to the SharePoint folder.
C.Filter the folder query to include only the relevant Excel files.
D.Use the 'Combine Files' transform with the first file as a sample.
E.Individually import each file and append them manually.
AnswersB, C, D
Necessary to access the files.
Why this answer
Option B is correct because connecting to the SharePoint folder allows Power Query to access all files in the folder as a single data source. This is the foundational step for the 'Combine Files' workflow, which then uses a sample file to infer the schema and automatically applies transformations to all matching files.
Exam trap
The trap here is that candidates often confuse 'Merge Queries' (which joins tables horizontally) with 'Append Queries' (which stacks rows vertically), and they may overlook that the 'Combine Files' transform is the automated way to append multiple files from a folder, not manual import and append.
You are designing a star schema for a sales data model. Which table should be defined as a dimension table?
A.TransactionID
B.OrderQuantity
C.SalesAmount
D.Date
AnswerD
Date is a typical dimension for time analysis.
Why this answer
Option B is correct because Date is a classic dimension used for time-based analysis. Option A is wrong because SalesAmount is a measure. Option C is wrong because TransactionID is a fact table key.
Option D is wrong because OrderQuantity is a measure.
You are building a Power BI report that shows sales by region. You want to use a visual that displays hierarchical data, such as region -> country -> city, and allows drilling up and down. Which visual should you use?
A.Scatter plot
B.Stacked bar chart
C.Card
D.Decomposition tree
AnswerD
Correct. It allows hierarchical drill-down.
Why this answer
Option A is correct because the decomposition tree visual is designed for hierarchical drilling and root cause analysis. Option B is wrong because a stacked bar chart does not support hierarchical drill-down natively. Option C is wrong because a scatter plot shows relationships between two numeric variables.
Option D is wrong because a card visual shows a single value.
You are connecting to an Excel workbook stored in Microsoft SharePoint Online. You want to refresh the data in Power BI service without manual intervention. Which type of gateway is required?
A.On-premises data gateway (standard mode)
B.On-premises data gateway (personal mode)
C.No gateway is required
D.Virtual network (VNet) gateway
AnswerC
SharePoint Online is a cloud data source; Power BI can refresh directly.
Why this answer
When connecting to an Excel workbook stored in Microsoft SharePoint Online, the data source resides entirely in the cloud. Power BI service can directly access SharePoint Online via its cloud-to-cloud connectivity using the same Microsoft Entra ID authentication context. Therefore, no on-premises data gateway is required for scheduled refresh because the data never traverses an on-premises network.
Exam trap
The trap here is that candidates mistakenly assume any Excel workbook refresh requires a gateway, but the critical distinction is whether the file is stored on-premises (e.g., a network share) versus in a cloud service like SharePoint Online or OneDrive for Business.
How to eliminate wrong answers
Option A is wrong because the on-premises data gateway (standard mode) is designed for connecting to data sources that reside on-premises or in a private network, not for cloud-native sources like SharePoint Online. Option B is wrong because the personal mode gateway is a single-user gateway intended for on-premises data sources and does not support cloud-to-cloud refresh scenarios. Option D is wrong because a Virtual Network (VNet) gateway is used to connect Azure virtual networks to on-premises networks or other VNets, not for accessing cloud SaaS data sources like SharePoint Online.
You have a Power BI semantic model that uses row-level security (RLS). The model contains a table 'Employees' with columns: EmployeeID, ManagerID, Region. You need to configure RLS so that a manager can see only the data for employees who report to them, including indirect reports (i.e., the entire hierarchy under the manager). What is the best approach?
A.Use RLS with a DAX filter that uses PATH and PATHCONTAINS to include all descendants.
B.Use RLS with a DAX filter like 'Employees[ManagerID] = USERPRINCIPALNAME()'.
C.Add a column to the Employees table that lists all employees under each manager, then filter on that column.
D.Create a separate role for each manager and assign users accordingly.
AnswerA
This dynamically filters based on the user's position in the hierarchy.
Why this answer
Option D is correct because RLS can only filter rows directly; to handle dynamic hierarchies, you need to use DAX with functions like PATH and PATHCONTAINS to flatten the hierarchy. Option A is wrong because adding a column for each manager is not scalable. Option B is wrong because RLS does not support dynamic hierarchy by itself.
Option C is wrong because a role per manager is not dynamic.
You have a Power BI report with a date table and a sales table. The above DAX measure is used in a visual that also shows 'Date[Year]' on the axis. What does this measure return?
A.The sum of sales for all years.
B.The sum of sales for the current year on the axis.
C.The sum of sales for the maximum year present in the Date table, regardless of the visual's year filter.
D.A blank because the measure conflicts with the visual filter.
AnswerC
ALL removes year filter, and MAX(Date[Year]) returns the maximum year in the whole table.
Why this answer
Option C is correct because the FILTER with ALL(Date) removes all filters from the Date table, then keeps only rows where Year equals the maximum year in the current context (which, because of the ALL, is the maximum year in the entire Date table regardless of slicers). Since the visual is filtered to a specific year by the axis, the measure shows the total for the max year overall, not the current year. Option A is wrong because it would require ALLSELECTED or no ALL.
Option B is wrong because it would be a simple SUM. Option D is wrong because the measure returns a sum, not a blank.
You are a Power BI administrator. A user reports that they cannot see a shared dashboard in their Power BI account. You verify that the dashboard has been shared with the user. What is the most likely cause?
A.The user is looking in the wrong workspace or the dashboard is located in a different workspace.
B.The dashboard owner does not have a Power BI Pro license.
C.The user is signed in with the wrong Microsoft Entra ID account.
D.The dashboard has not been shared with the user's security group.
AnswerA
Shared dashboards appear in the 'Shared with me' list or the workspace they are in; the user may be looking in the wrong place.
Why this answer
Option B is correct because the user may be accessing the wrong workspace or the dashboard may be shared in a different workspace context. Option A is wrong because if the user is signed in with the wrong account, they would see a different set of items. Option C is wrong because the dashboard was shared, so sharing is not the issue.
Option D is wrong because the dashboard owner's license does not affect visibility for the user.
Your organization uses Power BI and has a requirement that all reports must be accessible to users with screen readers. You need to configure the Power BI service to enforce accessibility compliance. What should you do?
A.Use Microsoft Entra ID to enforce conditional access for accessibility.
B.Use Microsoft Intune to enforce accessibility policies on user devices.
C.Set accessibility properties on each report individually.
D.In the Power BI admin portal, enable the 'Enforce accessibility requirements' setting.
AnswerD
This setting enforces accessibility checks.
Why this answer
Option A is correct because accessibility settings in Power BI service can enforce requirements like alt text and tab order. Option B is wrong because Microsoft Intune manages devices, not Power BI accessibility. Option C is wrong because Microsoft Entra ID does not have accessibility settings for Power BI.
Option D is wrong because report-level settings are manual, not enforced tenant-wide.
Refer to the exhibit. You are managing a Power BI workspace and applying dataset permissions via the XMLA endpoint. The JSON policy shows permissions for two users on the 'Sales' dataset. user1 has Viewer role, user2 has Reshare role. The dataset has row-level security (RLS) defined. Which statement is true about the permissions?
A.user2 can share the dataset with others but cannot build reports.
B.user2 can add new measures to the dataset using the XMLA endpoint.
C.Both users will have RLS applied when querying the dataset.
D.user1 can modify the dataset structure through the XMLA endpoint.
AnswerC
RLS is enforced for all users regardless of permission role.
Why this answer
Option A is correct because RLS is enforced for both Viewer and Reshare roles. Option B is incorrect because Reshare allows sharing but not necessarily modifying reports. Option C is incorrect because Viewer cannot modify the dataset.
Option D is incorrect because Reshare does not allow editing the dataset.
You are importing data from a CSV file that contains a column with mixed data types (numbers and text). Power BI automatically assigns the data type as Text. You need to perform numerical aggregations on this column. What should you do?
A.Split the column using a delimiter to separate numbers from text.
B.Create a relationship with a numeric table to enable aggregation.
C.Create a calculated column in DAX using VALUE() to convert the text to numbers.
D.In Power Query Editor, change the data type of the column to Whole Number or Decimal Number.
AnswerD
Changing the data type enables numerical aggregations.
Why this answer
Option A is correct because you need to change the data type to a numeric type in Power Query Editor to perform aggregations. Option B is wrong because splitting the column does not change the data type. Option C is wrong because creating a calculated column in DAX is less efficient and may still require type conversion.
Option D is wrong because the relationship is not the issue.
You have a Power BI report that uses a live connection to an Azure Analysis Services (AAS) tabular model. You need to add a new measure to the report. What should you do?
A.Use DAX to create a new calculated column in Power BI Desktop.
B.Modify the AAS model directly from Power BI Desktop.
C.Add the measure to the AAS tabular model using SQL Server Management Studio (SSMS) or Visual Studio.
D.Create a new calculated table in Power BI Desktop.
AnswerC
In a live connection, all measures must originate from the source model.
Why this answer
Option A is correct because with a live connection, you cannot create measures in Power BI Desktop; they must be defined in the source model. Option B is wrong because measures cannot be created in the report layer with live connection. Option C is wrong because calculated columns also cannot be added.
Option D is wrong because the AAS model must be modified externally.
Which TWO are valid reasons to use a date table in a Power BI semantic model? (Select two.)
Select 2 answers
A.To allow users to drill down into non-date hierarchies.
B.To automatically generate date hierarchies in visuals.
C.To enable time intelligence functions like TOTALYTD and SAMEPERIODLASTYEAR.
D.To improve the performance of relationships between tables.
E.To ensure consistent date filtering across multiple fact tables.
AnswersC, E
Time intelligence functions require a date table marked as such.
Why this answer
Options A and D are correct. A date table enables time intelligence functions and provides a consistent date dimension. Option B is wrong because date tables are not required for simple calculations.
Option C is wrong because date tables don't help with non-date hierarchies. Option E is wrong because relationships are not affected by date tables.
You are designing a data model in Power BI. You have a 'Sales' table and a 'Date' table. The 'Sales' table has a 'SalesDate' column of type Date. You need to create a relationship between the tables, but the 'Date' table contains dates from 2010 to 2025, while the 'Sales' table only has data from 2020. Which type of relationship should you create to ensure optimal performance and correct filtering?
A.Many-to-one with bi-directional cross-filtering
B.Many-to-one with single cross-filter direction from Date to Sales
C.One-to-one (1:1)
D.Many-to-many (M:M)
AnswerB
Standard and efficient for filtering.
Why this answer
Option B is correct because a many-to-one relationship with single cross-filter direction from Date to Sales ensures that filters applied to the Date table propagate to the Sales table, which is the standard star schema design. This configuration optimizes query performance by avoiding unnecessary bi-directional filtering and correctly handles the date range mismatch, as the Date table's larger range does not affect filtering of Sales data.
Exam trap
The trap here is that candidates often assume bi-directional filtering is needed for correct filtering, but in a star schema, single-direction filtering from the dimension to the fact table is both sufficient and optimal for performance.
How to eliminate wrong answers
Option A is wrong because bi-directional cross-filtering would force Power BI to evaluate filter context in both directions, which can degrade performance and cause ambiguous filter propagation, especially when the Date table has a superset of dates. Option C is wrong because a one-to-one relationship requires both tables to have unique values in the key columns, which is not the case here (Sales table has multiple rows per date). Option D is wrong because a many-to-many relationship is unnecessary and introduces complexity; it would require a bridge table or special handling, and it does not reflect the actual cardinality where one date can have many sales.
You are a data analyst for an e-commerce company. You have a Power BI dataset that imports data from a Salesforce source using the Salesforce connector. The dataset is refreshed daily. Recently, the refresh started failing with the error 'Unable to connect to the data source'. You have verified that the Salesforce credentials are correct and that the Salesforce service is healthy. What is the most likely cause?
A.The OAuth redirect URI for the Salesforce app is not configured correctly.
B.The on-premises data gateway is not installed.
C.The privacy levels for the data source are set to 'Private'.
D.The Power BI service is not available in the same region as Salesforce.
AnswerA
Correct. The redirect URI must match the Power BI service URL.
Why this answer
The Salesforce connector in Power BI uses OAuth 2.0 for authentication. Even if credentials are correct and the Salesforce service is healthy, a misconfigured OAuth redirect URI in the Salesforce connected app prevents Power BI from completing the authorization handshake, causing the 'Unable to connect to the data source' error during refresh. This is a common issue when the redirect URI does not match the Power BI service's callback endpoint.
Exam trap
The trap here is that candidates assume credential validity and service health guarantee connectivity, overlooking the OAuth redirect URI configuration which is a frequent misconfiguration in cloud-to-cloud integrations.
How to eliminate wrong answers
Option B is wrong because the on-premises data gateway is only required when connecting to on-premises data sources (e.g., SQL Server on a local network), not to cloud-based Salesforce. Option C is wrong because privacy levels (e.g., 'Private') control data combination behavior across sources during query execution, not the ability to connect or authenticate to a single source. Option D is wrong because Power BI service region availability does not affect connectivity to Salesforce; the Salesforce connector connects over the public internet regardless of region.
You have a Power BI semantic model with a date table that spans from January 1, 2020 to December 31, 2025. You want to calculate year-to-date (YTD) sales for the current year. Which DAX formula should you use?
Option B is correct because TOTALYTD calculates year-to-date sales relative to the current context. Option A is wrong because it gives total sales without any time calculation. Option C is wrong because SAMEPERIODLASTYEAR compares to the prior year, not YTD.
Option D is wrong because CALCULATE with DATESYTD is redundant; TOTALYTD is the standard function.
You are reviewing a DAX query in DAX Studio. The exhibit shows a query that returns a table. What is the purpose of the SUMMARIZE function in this query?
A.To group sales by product category and compute total sales
B.To add a calculated column to the Sales table
C.To add a new row for total sales per category
D.To filter the Sales table by Product Category
AnswerA
SUMMARIZE groups by Category and sums Amount.
Why this answer
Option A is correct because the SUMMARIZE function in DAX is used to group rows from a table based on one or more columns (here, Product Category) and then compute an aggregated value (Total Sales) using a SUM expression. The query returns a new table with one row per category and the corresponding total sales, which is the standard purpose of SUMMARIZE for grouping and aggregation.
Exam trap
The trap here is that candidates confuse SUMMARIZE with functions that add calculated columns (ADDCOLUMNS) or filter tables (FILTER), leading them to pick options B or D, when in fact SUMMARIZE is specifically for grouping and aggregation.
How to eliminate wrong answers
Option B is wrong because SUMMARIZE does not add a calculated column to an existing table; it returns a new table with grouped rows and aggregated columns, whereas calculated columns are added using CALCULATEDCOLUMN or ADDCOLUMNS. Option C is wrong because SUMMARIZE does not add a new row for total sales per category; it creates one row per unique combination of grouping columns, and a grand total row would require a separate function like ROLLUP or GROUPBY. Option D is wrong because SUMMARIZE does not filter the Sales table; filtering is done with functions like FILTER or CALCULATETABLE, while SUMMARIZE only groups and aggregates the existing rows.
You are using Power Query to combine data from multiple CSV files in a folder. Each file has the same structure. You want to append all rows into a single table. Which Power Query function should you use?
A.Group By.
B.Append Queries.
C.Merge Queries as new.
D.Combine Files from the folder connector.
AnswerD
The folder connector with Combine Files automatically appends all CSV files.
Why this answer
Option D is correct because the 'Combine Files' transformation in Power Query is specifically designed to import and append multiple CSV files from a folder into a single table. When you connect to a folder using the 'From Folder' connector, Power Query automatically generates a 'Combine Files' step that uses the 'Table.Combine' function under the hood, which appends all rows from identically structured files into one unified table.
Exam trap
The trap here is that candidates often confuse 'Append Queries' (which is a manual, query-level operation) with the automated 'Combine Files' feature that the folder connector provides, leading them to pick Option B instead of recognizing that the folder connector's built-in combine functionality is the correct and intended method for this scenario.
How to eliminate wrong answers
Option A is wrong because 'Group By' is an aggregation operation that groups rows based on column values and computes summaries (e.g., sum, count), not a method to append rows from multiple files. Option B is wrong because 'Append Queries' is a manual operation that combines two or more existing queries in the Power Query Editor, but it is not the direct function used when importing multiple files from a folder; the folder connector's 'Combine Files' is the automated approach. Option C is wrong because 'Merge Queries as new' performs a join (like SQL JOIN) based on matching columns, which combines columns from different tables, not appending rows.
Which THREE steps are required to set up row-level security (RLS) in Power BI Desktop?
Select 3 answers
A.Use the View as Roles feature to test the security filters.
B.After publishing, assign users or groups to roles in the dataset settings.
C.Install and configure an on-premises data gateway.
D.Create roles and define DAX filter expressions in the Manage Roles dialog.
E.Publish the report to the Power BI service before defining roles.
AnswersA, B, D
Validation step to ensure filters work correctly.
Why this answer
Options A, C, and E are correct. You must create roles and define DAX filters (A), then validate the roles using the 'View as' feature (C), and after publishing, assign users to roles in the Power BI service (E). Option B is wrong because RLS is defined in Desktop, not the service.
Option D is wrong because RLS does not require a gateway for definition.
You need to create a measure that calculates the year-over-year growth percentage for sales. Which DAX function combination is most appropriate?
A.CALCULATE with DATEADD and SUM
B.CALCULATE with SAMEPERIODLASTYEAR and DIVIDE
C.TOTALYTD and DIVIDE
D.PREVIOUSMONTH and SUM
AnswerB
SAMEPERIODLASTYEAR shifts the date context back one year, and DIVIDE computes the percentage change.
Why this answer
Option C is correct because CALCULATE with SAMEPERIODLASTYEAR calculates the previous year's sales, and the DIVIDE function handles division safely. Option A is wrong because TOTALYTD is for year-to-date, not year-over-year. Option B is wrong because DATEADD is used but not with SAMEPERIODLASTYEAR.
Option D is wrong because PREVIOUSMONTH is for month-over-month.
Refer to the exhibit. The Power Query M code connects to a SQL Server database and performs data transformation. However, the query is failing with a privacy level error. What is the most likely cause?
A.The SQL Server credentials are not correctly configured in the data source settings.
B.The privacy levels for the SQL Server data source are set inconsistently across the environment.
C.The query uses a CSV file from a local folder that has a privacy level set to 'Private'.
D.The query combines data from SQL Server and another data source with incompatible privacy levels.
AnswerB
Privacy level errors can occur even with a single source if the data source privacy setting is misconfigured or if the global privacy level is set to 'None' while the source is 'Private'.
Why this answer
The privacy level error in Power Query occurs when data from sources with incompatible privacy levels is combined. Option B is correct because the most likely cause is that the SQL Server data source has its privacy level set inconsistently across the environment (e.g., one source set to 'Private' and another to 'Public'), which prevents the query from merging or appending data due to Power BI's data privacy firewall. This firewall enforces isolation between sources based on their configured privacy levels, and an inconsistency triggers the error.
Exam trap
The trap here is that candidates often assume a privacy level error always involves combining two different data sources (like SQL Server and a CSV), but the error can also occur when the same data source has inconsistent privacy level settings across the environment, such as between Power BI Desktop and the Power BI Service.
How to eliminate wrong answers
Option A is wrong because incorrect SQL Server credentials would produce a connection or authentication error (e.g., 'Cannot connect to database'), not a privacy level error. Option C is wrong because a CSV file from a local folder with a privacy level set to 'Private' alone does not cause a privacy level error; the error arises only when combining that CSV with another source that has an incompatible privacy level (e.g., 'Public'), and the question states the query connects to SQL Server, not a CSV. Option D is wrong because while combining data from SQL Server and another source with incompatible privacy levels can cause the error, the question specifically states the query 'connects to a SQL Server database and performs data transformation'—it does not mention combining with another source, so the most likely cause is the inconsistency within the SQL Server source's own privacy level settings across the environment, not a cross-source combination.
You have a Power BI dataset that uses DirectQuery to a SQL Server data warehouse. You need to ensure that when users view reports, they see only data relevant to their department. The data warehouse contains a 'Department' column. What should you implement?
A.Configure the data source credentials to pass the user's identity.
B.Create separate datasets for each department and grant access accordingly.
C.Implement object-level security (OLS) on the 'Department' column.
D.Define row-level security (RLS) roles in Power BI Desktop and assign users.
AnswerD
RLS filters data at the row level based on user identity.
Why this answer
Option B is correct because row-level security (RLS) in Power BI allows you to filter data based on the user's identity. By defining roles and using DAX filters like 'Department = USERPRINCIPALNAME()', you can restrict data. Option A is wrong because object-level security (OLS) controls access to tables/columns, not rows.
Option C is wrong because data source credentials are used for connection, not for filtering. Option D is wrong because Power BI does not support query passthrough for RLS; RLS is implemented in Power BI.
You are configuring a Power BI data gateway for a scheduled refresh. The data source is an on-premises SQL Server database. Which authentication method should you use for the gateway to connect to the SQL Server?
A.Windows authentication (Kerberos)
B.OAuth 2.0
C.Service Principal
D.Basic authentication with SQL login
AnswerA
Standard for on-prem SQL Server.
Why this answer
The gateway typically uses Windows authentication (Kerberos) for on-premises SQL Server to support single sign-on and pass-through. Option B is correct. Option A is wrong because OAuth is for cloud services.
Option C is wrong because Basic is less secure and not recommended. Option D is wrong because Service Principal is for Azure resources.
You are creating a Power BI report that requires a many-to-many relationship between 'Product' and 'Customer' tables. What is the recommended way to implement this?
A.Combine Product and Customer into a single table
B.Create a bridge table with ProductID and CustomerID and create relationships to both tables
C.Create a direct many-to-many relationship using the 'many-to-many' cardinality option in Power BI
D.Use a calculated column to concatenate IDs
AnswerB
This resolves the many-to-many relationship correctly.
Why this answer
Option B is correct because in Power BI, a many-to-many relationship between two tables (e.g., Product and Customer) is best implemented using a bridge table that contains the foreign keys (ProductID and CustomerID) from both tables. This bridge table resolves the many-to-many cardinality by creating two one-to-many relationships: one from Product to the bridge table and one from Customer to the bridge table. This approach ensures proper filtering and avoids ambiguity in the data model, which is a standard best practice in dimensional modeling.
Exam trap
The trap here is that candidates often assume Power BI has a built-in 'many-to-many' cardinality option that can be applied directly between two tables, but in reality, Power BI requires an intermediary bridge table to properly model such relationships.
How to eliminate wrong answers
Option A is wrong because combining Product and Customer into a single table would create a denormalized structure that leads to data redundancy, violates normalization principles, and makes the model harder to maintain and query correctly. Option C is wrong because Power BI does not support a direct many-to-many relationship cardinality option between two tables; the 'many-to-many' cardinality in Power BI is only available when using a bridge table or when both tables are from the same source with a composite key, but it is not a direct relationship setting. Option D is wrong because using a calculated column to concatenate IDs does not create a proper relationship; it only creates a string value that cannot be used to establish a relational link between tables, and it would not support correct filtering or aggregation.
You are importing data from a web page that contains an HTML table. Power Query detects the table, but you notice that some columns contain HTML tags. Which TWO methods can you use to remove the HTML tags from the column values?
Select 2 answers
A.Split the column by delimiter '<' and then extract the first part.
B.Use 'Replace Values' to remove specific tags like <br> and </p>.
C.Remove the columns containing HTML tags.
D.Use the 'Clean' function to remove all HTML tags.
E.Use a custom column with the 'Html.Table' function to extract text.
AnswersB, E
For known tags, replace works.
Why this answer
Option B is correct because 'Replace Values' allows you to manually remove specific HTML tags (e.g., <br>, </p>) by replacing them with an empty string, which is a straightforward method for cleaning known tags. Option E is correct because the 'Html.Table' function in Power Query can parse HTML content and extract the text from a table, effectively stripping tags and returning clean text values.
Exam trap
The trap here is that candidates confuse the 'Clean' function (which removes non-printable characters) with a hypothetical HTML-cleaning function, leading them to select option D despite it being irrelevant to HTML tags.
You have a report page that shows sales by product category. You want to allow users to click on a category and see a detailed breakdown of products within that category on a separate page. Which Power BI feature should you implement?
A.Add a slicer for product category
B.Drillthrough page with category as a drillthrough field
C.Bookmark that shows the detail page
D.Report page tooltips
AnswerB
Drillthrough passes the selected category to a detail page.
Why this answer
Option B is correct because drillthrough allows passing a filter to another page. Option A is wrong because tooltips show on hover, not click. Option C is wrong because a slicer filters the same page.
Option D is wrong because bookmarks navigate to a state, not filter another page.
You are preparing a data model that uses a date table. You need to ensure that the date table includes all dates from January 1, 2020 to December 31, 2025. What is the most efficient way to create this date table in Power Query?
A.Import a date table from an Excel file.
B.Use the 'List.Dates' function to generate the date range.
C.Use the 'Calendar' function in Power Query M.
D.Use the 'CALENDAR' DAX function in Power Query.
AnswerB
List.Dates generates a list of dates given start, count, and step.
Why this answer
Option B is correct because the 'List.Dates' function in Power Query M is the most efficient way to generate a contiguous range of dates directly within the query editor, without external dependencies. It creates a list of dates from a start date to an end date using a specified step (e.g., #duration(1,0,0,0) for one day), which can then be converted into a table. This approach is lightweight, fully self-contained, and avoids the overhead of importing external files or using DAX functions that are not native to Power Query.
Exam trap
The trap here is that candidates confuse DAX functions (like 'CALENDAR') with Power Query M functions, assuming they can be used interchangeably in the Power Query editor, when in fact DAX functions are only available in the data modeling layer (e.g., calculated tables) and not in Power Query.
How to eliminate wrong answers
Option A is wrong because importing a date table from an Excel file introduces an external dependency, requires manual maintenance, and is less efficient than generating the dates natively in Power Query. Option C is wrong because there is no built-in 'Calendar' function in Power Query M; the correct M function is 'List.Dates' or the 'Date' functions, and 'Calendar' is a DAX function, not an M function. Option D is wrong because 'CALENDAR' is a DAX function used in Power Pivot or Analysis Services, not in Power Query; Power Query uses M language, and DAX functions cannot be used directly in the Power Query editor.
Which THREE of the following are best practices for data preparation in Power BI to improve performance and maintainability? (Select THREE.)
Select 3 answers
A.Filter out unnecessary rows as early as possible in the query
B.Avoid renaming columns in Power Query; use original names
C.Use query folding to push transformations back to the source
D.Split complex queries into multiple steps for clarity
E.Keep all columns from the source to avoid missing data
AnswersA, C, D
Early filtering reduces data volume and improves performance.
Why this answer
Filtering out unnecessary rows early in Power Query reduces the amount of data loaded into memory and processed in subsequent transformation steps. This practice, known as early filtering, minimizes the data footprint and improves both refresh performance and report responsiveness. By applying filters as the first transformation, you leverage query folding to push the filter logic to the source database, further enhancing efficiency.
Exam trap
The trap here is that candidates often confuse 'maintainability' with 'avoiding changes to source names,' but Power BI encourages renaming for clarity, and the real performance pitfall is keeping unnecessary columns, not renaming them.
You are a Power BI analyst for a retail company. You have a dataset containing a 'Sales' table with columns: SalesDate, StoreID, ProductID, Quantity, UnitPrice, and Discount. You also have a 'Calendar' table marked as a date table with a continuous date range from 2018 to 2023. You need to create a measure that calculates the running total of sales amount (Quantity * (UnitPrice - Discount)) over the last 12 months, but only for products that have been sold in at least 10 different stores in the current month. The measure should be dynamic based on the current filter context (e.g., month, year). The report will be used by regional managers to monitor product performance. You have already created a base measure: TotalSales = SUMX(Sales, Sales[Quantity] * (Sales[UnitPrice] - Sales[Discount])). Which DAX measure should you create?
This correctly filters products with at least 10 stores in the current month (using DATESMTD) and then calculates the running total over the last 12 months.
Why this answer
Option A is correct because it uses CALCULATE with DATESINPERIOD to compute the running total over the last 12 months, and then applies a filter that restricts the calculation to only those products that have been sold in at least 10 distinct stores in the current month (via DATESMTD). The use of ALL(Sales[ProductID]) inside the filter ensures that the product-level filtering is applied over all products, while the inner CALCULATE with DATESMTD evaluates the store count condition within the current month context, making the measure dynamic based on the filter context.
Exam trap
The trap here is that candidates often forget to use ALL() to expand the product context and instead use VALUES(), which restricts the filter to only products already in the current selection, or they fail to nest a separate CALCULATE with DATESMTD to evaluate the store count condition specifically for the current month.
How to eliminate wrong answers
Option B is wrong because it uses VALUES(Sales[ProductID]) which only returns products that are already in the current filter context, not all products; it does not enforce the condition that products must be sold in at least 10 stores in the current month. Option C is wrong because it uses ALL('Calendar') which removes all date filters, making the running total ignore the 12-month window and instead compute over the entire date range, breaking the requirement. Option D is wrong because COUNTROWS(SUMMARIZE(Sales, Sales[StoreID])) counts all stores in the entire dataset for each product, not just the current month, and does not use DISTINCTCOUNT, so it may overcount stores and fails to apply the monthly condition correctly.
You are developing a Power BI semantic model that must combine data from an on-premises SQL Server database and a SharePoint Online list. The organization requires that credentials for the on-premises data source be stored securely and not shared with users. Which data connectivity approach should you use?
A.Use an on-premises data gateway and store the SQL Server credentials in the gateway data source settings
B.Use DirectQuery with single sign-on for the SQL Server database
C.Export the SQL Server data to an Excel file stored in SharePoint and then import from SharePoint
D.Import data from SQL Server using Windows authentication embedded in the data source settings
AnswerA
The gateway stores credentials securely and users do not need access to the database.
Why this answer
Option A is correct because using an on-premises data gateway with credentials stored in the gateway data source settings allows the Power BI service to securely connect to the on-premises SQL Server without exposing credentials to users. The gateway acts as a secure bridge, storing the SQL Server credentials encrypted in the gateway configuration, which satisfies the requirement that credentials not be shared with users.
Exam trap
The trap here is that candidates often choose DirectQuery with SSO (Option B) thinking it avoids credential sharing, but SSO requires granting users direct database access, which violates the 'credentials not shared with users' requirement and does not work with a SharePoint Online list in a combined model.
How to eliminate wrong answers
Option B is wrong because DirectQuery with single sign-on (SSO) would pass the user's own identity to the SQL Server, which requires users to have direct database permissions and does not store credentials securely for the organization; it also does not work with SharePoint Online lists in a combined model without a gateway. Option C is wrong because exporting SQL Server data to an Excel file in SharePoint bypasses the requirement for secure credential storage and introduces data staleness, manual refresh, and security risks from file-based sharing. Option D is wrong because embedding Windows authentication credentials in the data source settings would store the credentials in the Power BI model metadata, which is not secure and would be exposed to users who have access to the dataset settings.
You have a Power BI dataset that uses a SQL Server view as the data source. The view returns data for all customers, but you only need data for customers in the 'West' region. The view does not accept parameters. How should you filter the data?
A.Use a native SQL query in Power Query with a WHERE clause to ensure query folding.
B.In Power Query, apply a filter on the Region column after loading the view.
C.Ask the database administrator to modify the view to include a WHERE clause.
D.Load the entire view into the model and use a report-level filter.
AnswerB
This filters the data after import.
Why this answer
Option B is correct because applying a filter in Power Query after loading the view is the standard approach when the source view does not accept parameters. This method leverages Power Query's query folding capabilities, which push the filter down to the SQL Server, reducing data transfer and improving performance. It avoids loading unnecessary data into the model while maintaining the ability to refresh efficiently.
Exam trap
The trap here is that candidates often assume a native SQL query is always more efficient, but Power Query's query folding can achieve the same result without breaking the connection to the view, and modifying the source view is not always an option.
How to eliminate wrong answers
Option A is wrong because using a native SQL query with a WHERE clause would bypass query folding and break the dependency on the view, potentially causing issues with refresh and governance. Option C is wrong because asking the DBA to modify the view is unnecessary and may not be feasible; Power Query can handle the filter without altering the source. Option D is wrong because loading the entire view into the model and using a report-level filter would import all customer data, wasting memory and degrading performance, and it does not reduce the data at the source.
You have a Power BI model with a table 'Sales' that contains columns: Date, SalespersonID, and Amount. You have a 'Salespeople' table with columns: SalespersonID, Name, and Region. You need to create a measure that calculates the total sales amount for the current region, but only for salespeople who have made at least one sale in the current month. Which DAX expression achieves this?
Correctly iterates over salespeople who have at least one sale in the current month and sums their sales for the current region.
Why this answer
Option C is correct because it filters Salespeople to those who have sales in the current month, then uses SUMX to sum over that filtered table. Option A is wrong because it sums directly without checking sales. Option B is wrong because it sums all sales without the salesperson filter.
Option D is wrong because it uses an inappropriate filter.
You have a Power Query query that loads data from an OData source. You need to reduce the amount of data loaded into the data model. What is the best practice?
A.Apply a filter in the data model using DAX.
B.Use 'Enable load' option to turn off loading for the query.
C.Apply a filter in Power Query before loading.
D.Load all data and then hide columns you don't need.
AnswerC
Filtering in Power Query reduces the amount of data loaded into the model.
Why this answer
Option C is correct because applying filters in Power Query before loading data into the data model is the best practice for reducing data volume. Power Query pushes filters down to the OData source using OData query parameters (e.g., $filter), ensuring only the required rows are retrieved from the source. This minimizes network transfer and memory usage in the data model, aligning with the principle of early filtering in the ETL process.
Exam trap
The trap here is that candidates often confuse filtering in the data model (DAX) with filtering during data ingestion (Power Query), assuming both reduce data volume equally, but only Power Query filters reduce the actual data loaded into memory.
How to eliminate wrong answers
Option A is wrong because applying a filter in the data model using DAX does not reduce the amount of data loaded; it only restricts what is visible in reports, while the entire dataset remains in memory. Option B is wrong because disabling 'Enable load' for the query prevents the entire query from being loaded, which is not a method to reduce data volume for a query that is needed—it removes the query entirely from the model. Option D is wrong because loading all data and then hiding columns does not reduce the amount of data loaded; hidden columns still consume memory and storage in the data model.
You have a Power BI workspace that contains a report connected to an Azure Analysis Services (AAS) model. The data source uses Single Sign-On (SSO) with Microsoft Entra ID. When users access the report, they see an error that the data cannot be refreshed. What is the most likely cause?
A.Row-level security (RLS) is not configured on the AAS model.
B.The data source credentials are stored in the dataset.
C.The service principal used for authentication has expired.
D.The dataset is configured in Import mode.
AnswerD
SSO only works with DirectQuery or Live Connection.
Why this answer
Option B is correct because SSO requires the dataset to use DirectQuery or Live Connection mode; Import mode does not support SSO. Option A is incorrect because the data source credentials are passed via SSO, not stored. Option C is incorrect because row-level security is applied at query time, not during connection.
Option D is incorrect because SSO uses the user's identity, not a service principal.
You want to create a report that allows users to select a product category and see the top 5 products by sales within that category. Which approach should you use?
A.Use a waterfall chart with category on the breakdown axis.
B.Add a slicer for category and apply a Top N filter on product to the visual.
C.Use a measure to rank products and filter visual to top 5.
D.Create a calculated column for rank and filter to top 5.
AnswerB
Top N filter combined with slicer provides dynamic ranking.
Why this answer
Option A is correct because using the Top N filter with a slicer for category allows dynamic filtering. Option B is wrong because a static rank would not respond to slicer selection. Option C is wrong because a waterfall chart does not support Top N.
Option D is wrong because calculated columns cannot be dynamic based on slicer selection.
You are profiling data in Power Query Editor. Which THREE tasks can you perform using the Column Profile feature?
Select 3 answers
A.Add a conditional column
B.Identify data type issues
C.Count distinct values
D.View the distribution of values
E.Replace values
AnswersB, C, D
Profiling can show data type errors.
Why this answer
The Column Profile feature in Power Query Editor provides a statistical summary of the data in a selected column, including value distribution, distinct counts, and data type detection. Option B is correct because the profile automatically highlights data type inconsistencies (e.g., numbers stored as text) by showing the 'Data Type' indicator and flagging errors, enabling you to identify and fix type issues before loading data.
Exam trap
The trap here is that candidates confuse the Column Profile feature (a read-only profiling tool) with data transformation actions like adding columns or replacing values, leading them to select options that are actually performed in other parts of Power Query Editor.
Which THREE of the following are best practices for designing a Power BI data model?
Select 3 answers
A.Use composite keys in relationships for better performance
B.Enable bidirectional cross-filtering by default
C.Implement business logic in measures rather than calculated columns
D.Use a star schema design with dimension and fact tables
E.Use surrogate keys for dimension tables
AnswersC, D, E
Measures are more efficient and flexible.
Why this answer
Options A, C, and E are correct. A star schema is recommended. Relationships should be based on surrogate keys.
Business logic should be in measures. Option B is wrong because composite keys are not recommended; use surrogate keys. Option D is wrong because bidirectional filtering is used sparingly, not by default.
You are creating a Power BI report to analyze customer churn. You have a table with Customer ID, Churn Date, and other attributes. You want to create a measure that calculates the number of customers who churned in the last 30 days. Which THREE components do you need?
Select 3 answers
A.A measure using CALCULATE, COUNTROWS, and DATESINPERIOD
B.A calculated column for 30-day flag
C.A relationship between date table and Churn Date
D.A separate date table marked as date table
E.A disconnected table with date range
AnswersA, C, D
Standard approach for dynamic period calculation.
Why this answer
Options A, B, and E are correct: a date table (A) for time intelligence, a relationship (B) between date table and churn date, and a CALCULATE measure (E) with appropriate filter. Option C is incorrect because a calculated column is not required. Option D is incorrect because a disconnected table is not necessary.
You are modeling a many-to-many relationship between 'Student' and 'Class' tables. Which approach should you use in Power BI to handle this?
A.Merge both tables into one
B.Use bidirectional cross-filtering
C.Add a bridge table with composite keys
D.Create a single one-to-many relationship
AnswerC
Bridge table breaks many-to-many into two one-to-many relationships.
Why this answer
Option C is correct because a bridge table resolves many-to-many relationships. Option A is wrong because a single relationship cannot handle many-to-many. Option B is wrong because bidirectional filtering is not sufficient.
Option D is wrong because merging creates a single table.
Refer to the exhibit. You have a JSON definition of a Power BI dataset. You need to ensure that when a user filters by Product[Category], the filters propagate to Sales table. What is the current cross-filtering behavior?
A.Filter from Product flows to Sales
B.Filter from Sales flows to Product
C.No filter propagation occurs
D.Filter propagation is bidirectional
AnswerA
oneDirection means filter from the one side (Product) to the many side (Sales).
Why this answer
Option A is correct because 'oneDirection' means filter flows from the 'one' side (Product) to the 'many' side (Sales). Option B is wrong because 'bothDirections' is not set. Option C is wrong because the filter does propagate.
Option D is wrong because the behavior is defined.
Refer to the exhibit. User2 wants to add a new user to the Finance workspace. Can User2 perform this action, and why?
A.Yes, because User2 is a Contributor.
B.Yes, because User2 is a Member.
C.No, because the Premium capacity does not allow adding users.
D.No, because only Admins can add users.
AnswerD
Admin role is required to add users.
Why this answer
Option B is correct because only workspace Admins can add users. User2 is a Member, which does not include the permission to manage membership. Option A is wrong because Contributors cannot add users.
Option C is wrong because Member cannot add users. Option D is wrong because the capacity does not affect workspace membership permissions.
You are troubleshooting connectivity to a Power BI Premium dataset via the XMLA endpoint. A user reports that they cannot connect using SQL Server Management Studio (SSMS) but can view reports in the Power BI service. The user's email is user3@contoso.com. What is the most likely cause?
A.External connections are blocked by the configuration.
B.The user does not have permission to view reports.
C.The user is not in the allowedUsers list for the XMLA endpoint.
D.The XMLA endpoint is disabled.
AnswerC
Only user1 and user2 are allowed.
Why this answer
Option C is correct because the XMLA endpoint for Power BI Premium datasets requires explicit user membership in the allowedUsers list (or allowedGroups) to enable client tools like SSMS to connect. The user can view reports in the Power BI service, which uses a different permission model (workspace roles), but SSMS connectivity via XMLA is gated by this separate list. Since the user is not in the allowedUsers list, the connection fails even though they have report viewing access.
Exam trap
The trap here is that candidates confuse workspace permissions (which control report viewing) with the separate XMLA endpoint access list (which controls client tool connectivity), leading them to incorrectly choose Option B or Option D.
How to eliminate wrong answers
Option A is wrong because external connections are not blocked by default; the XMLA endpoint is enabled by default for Premium workspaces, and the issue is specifically about user-level access control, not a blanket block. Option B is wrong because the user can view reports in the Power BI service, which confirms they have at least Viewer permissions on the workspace, so lack of report permissions is not the cause. Option D is wrong because if the XMLA endpoint were disabled, no one could connect via SSMS, but the user's report viewing in the service would still work; the question states the user cannot connect, implying the endpoint is enabled but access is restricted.
A Power BI developer is building a data model that includes a table 'Orders' with columns: OrderID, CustomerID, OrderDate, ShipDate, SalesAmount. The developer wants to analyze orders by both order date and ship date. Which THREE actions should the developer take to properly model this scenario?
Select 3 answers
A.Use the USERELATIONSHIP function in DAX measures to specify which relationship to use for a given calculation.
B.Create two separate date tables: one for order dates and one for ship dates.
C.Merge the OrderDate and ShipDate columns into a single column and use a flag to differentiate.
D.Create an active relationship between the Orders table and one date table, and an inactive relationship between Orders and the other date table.
E.Use a single date table with an active relationship to OrderDate and an inactive relationship to ShipDate.
AnswersA, B, D
USERELATIONSHIP activates the inactive relationship for that measure.
Why this answer
Option A is correct because the USERELATIONSHIP function in DAX allows the developer to temporarily activate an inactive relationship for a specific calculation. In this scenario, one relationship (e.g., between Orders[OrderDate] and a date table) is active, while the other (e.g., between Orders[ShipDate] and the same or another date table) is inactive. By using USERELATIONSHIP in measures, the developer can specify which relationship to use for filtering or aggregation, enabling analysis by both order date and ship date without altering the model's default behavior.
Exam trap
The trap here is that candidates often think a single date table can handle multiple date columns with only active relationships, but Power BI requires one active relationship per pair of tables, so they must create separate date tables or use USERELATIONSHIP to manage inactive relationships correctly.
You are connecting to a large CSV file (10 GB) stored in Azure Blob Storage. You need to load the data into Power BI with optimal performance. Which THREE practices should you follow? (Choose three.)
Select 3 answers
A.Use Parquet format instead of CSV if possible.
B.Import all columns and use Power BI to hide unused ones.
C.Split the large CSV file into multiple smaller files in the same folder.
D.Filter rows in Power Query to remove unnecessary data early in the transformation.
E.Use the on-premises data gateway to connect to Azure Blob Storage.
AnswersA, C, D
Parquet is a columnar format that is more efficient for large data volumes.
Why this answer
Options A, C, and E are correct because splitting the file, filtering rows early, and using an efficient file format improve performance. Option B is incorrect because the Power BI service can handle large files, but the gateway is not needed for cloud storage. Option D is incorrect because importing all columns reduces performance; you should select only needed columns.
You are loading data from a SQL Server database into Power BI. You notice that the import takes a long time because the source table contains many rows. You only need a subset of rows based on a date filter. What should you do to improve performance?
A.Remove unnecessary columns in Power Query.
B.Use a SQL query with a WHERE clause in the Power Query Editor.
C.Load all data and then apply a filter in Power BI.
D.Enable incremental refresh on the dataset.
AnswerB
Query folding pushes filter to source.
Why this answer
Option B is correct because using a SQL query with a WHERE clause in Power Query Editor pushes the date filter down to the SQL Server database, reducing the amount of data transferred over the network and imported into Power BI. This query folding technique leverages the database engine's indexing and processing power, which is far more efficient than filtering after import. By retrieving only the necessary rows upfront, you minimize both network latency and memory consumption in Power BI.
Exam trap
The trap here is that candidates often choose 'Remove unnecessary columns' (Option A) thinking it reduces data volume, but they overlook that row count reduction via query folding has a far greater impact on import performance than column reduction.
How to eliminate wrong answers
Option A is wrong because removing unnecessary columns in Power Query reduces the data width but does not address the root cause of slow import—the large number of rows being transferred from SQL Server. Option C is wrong because loading all data and then applying a filter in Power BI still requires the full dataset to be imported, which consumes network bandwidth and memory, defeating the purpose of performance improvement. Option D is wrong because incremental refresh is designed for scheduled data refreshes over time, not for optimizing the initial import of a single large table; it requires a date-range parameter and a supported data source, and does not reduce the initial load time.
You are a Power BI analyst at a marketing agency. You have a data model with a 'Campaigns' table (columns: CampaignID, CampaignName, StartDate, EndDate, Budget, Spent) and a 'Results' table (columns: ResultID, CampaignID, Date, Impressions, Clicks, Conversions). You need to model the data to analyze campaign performance over time. You create a relationship between Campaigns and Results on CampaignID (one-to-many). You also create a date dimension 'Calendar' and relate it to Results[Date]. However, when you create a measure to calculate the total budget by month, the budget for a campaign that spans multiple months is counted in each month, leading to double-counting. What should you do to accurately allocate the budget across months?
A.Create a calculated table using CROSSJOIN between Campaigns and Calendar, then use it as a bridge
B.Change the relationship between Campaigns and Results to bidirectional
C.Use the DAX function USERELATIONSHIP to activate an inactive relationship
D.Add a calculated column to Campaigns that divides the budget by the number of months
AnswerA
This creates a many-to-many relationship that allocates budget correctly.
Why this answer
Option D is correct because a many-to-many relationship between Campaigns and Calendar via a bridge table allows proper allocation. Option A is wrong because changing the relationship direction won't solve double-counting. Option B is wrong because a simple calculated column cannot allocate budget correctly.
Option C is wrong because a calculated table with CROSSJOIN is needed to create the bridge.
You are transforming data in Power Query. A column named 'SalesAmount' contains values as text with a dollar sign and thousands separator, e.g., "$1,234.56". You need to convert this column to a decimal number for analysis. What is the most efficient sequence of transformations?
A.Split the column by delimiter and keep the numeric part, then change data type.
B.Change data type to Decimal Number directly; Power Query will automatically clean the values.
C.Use Replace Values to remove '$' and ',', then change data type to Decimal Number.
D.Use Replace Values to remove '$' and ',' then change data type to Decimal.
AnswerC
Removing specific characters is a direct and efficient method; however, a more robust approach is to use Text.Select to keep only digits and the decimal point, but Replace Values is simplest given the known characters.
Why this answer
Option C is correct because it explicitly removes both the dollar sign and the comma before changing the data type, ensuring that Power Query can interpret the cleaned text as a decimal number without errors. Directly changing the data type (Option B) would fail because Power Query cannot automatically parse currency symbols and thousands separators from text. Option A is inefficient because splitting the column is unnecessary when simple replacements suffice.
Option D is identical to C but omits the comma removal, which would leave the thousands separator and cause conversion failures.
Exam trap
The trap here is that candidates assume Power Query's automatic type detection or direct data type change can handle currency symbols and separators, but in reality, it requires explicit cleaning steps to avoid errors or incorrect conversions.
How to eliminate wrong answers
Option A is wrong because splitting the column by delimiter is an overly complex approach that introduces unnecessary steps and potential data loss; it is not the most efficient sequence. Option B is wrong because Power Query cannot automatically clean currency symbols and thousands separators when changing data type directly; it will either error or leave the column as text. Option D is wrong because it only removes the dollar sign but not the comma, so the thousands separator remains, causing the data type conversion to fail or produce incorrect results.
You need to combine two tables in Power Query: 'Sales2023' (columns: Date, ProductID, Amount) and 'Sales2024' (columns: Date, ProductID, Amount). Which TWO transformations can be used to append rows from Sales2024 to Sales2023?
Select 2 answers
A.Combine Files
B.Use UNION function in DAX
C.Merge Queries as New with Full Outer join
D.Append Queries
E.Group By
AnswersC, D
Can combine all rows from both tables.
Why this answer
Option C is correct because a Merge with a Full Outer join in Power Query will combine all rows from both tables, effectively appending rows from Sales2024 to Sales2023 when the join key (e.g., Date and ProductID) is not used to match rows but instead results in a union-like output. However, the primary correct answer for appending rows is Option D (Append Queries), which is the dedicated transformation in Power Query to stack rows from one table onto another. Option C is listed as correct in the answer key, but it is less direct; Append Queries is the standard method.
Exam trap
The trap here is that candidates may confuse Merge Queries (which joins columns) with Append Queries (which stacks rows), and the Full Outer join option appears to work but is a misdirection; the correct Power Query transformation for appending rows is Append Queries, not Merge.
You manage a Power BI deployment that uses deployment pipelines. After promoting content from Development to Test, you notice that the Test workspace dataset uses a different data source than expected. What is the most likely reason?
A.The pipeline didn't deploy the dataset because it was already in Test.
B.The data source credentials were not applied during deployment.
C.The dataset parameters were not configured in the deployment pipeline rules.
D.The Test workspace has a separate dataset that was manually created.
AnswerC
Parameter rules are required to update data source connections across stages.
Why this answer
Option C is correct because deployment pipeline rules allow you to configure dataset parameters (such as data source paths) to differ between pipeline stages. If these rules are not set, the dataset retains the data source configuration from the source stage (Development), causing the Test workspace to use an unexpected data source. The pipeline deploys the dataset artifact, but without parameter overrides, the data source connection string remains unchanged.
Exam trap
The trap here is that candidates confuse data source credentials with data source parameters, assuming that credential issues cause the wrong data source to appear, when in fact parameters control the actual connection string, while credentials only handle authentication after the connection is established.
How to eliminate wrong answers
Option A is wrong because the deployment pipeline deploys datasets regardless of their presence in the target stage; it overwrites the existing dataset with the version from the source stage. Option B is wrong because data source credentials are not applied during deployment; credentials are managed separately in the target workspace after deployment, and their absence would cause a connection error, not a different data source. Option D is wrong because if a separate dataset were manually created in Test, the pipeline deployment would overwrite it with the dataset from Development, not preserve the manually created one.