90 free Microsoft PL-300 practice questions from the CertStash pack of 399, each with the correct answer and a full explanation. The rule is the same for every exam: ten free on the product page, 90 free here, all 399 in the pack, and each step includes the one before it.
Get all 399 questions (US$39) · Download the first 10 as a PDF · Read the study guide
Question 1
You have a project management app that is fully hosted in Microsoft Teams. The app was developed by using Microsoft Power Apps. You need to create a Power BI report that connects to the project management app. Which connector should you select?
Show answer and explanation
Correct answer: C. Dataverse
Power Apps stores data in Dataverse (formerly Common Data Service), which is the underlying data platform for Power Apps. When a Power Apps app is built and hosted in Microsoft Teams, its data resides in Dataverse, making Dataverse the correct connector choice for Power BI to access this data.
Why the other options are wrong
- A. Microsoft Teams Personal Analytics provides analytics about Teams usage, not data from Power Apps applications.
- B. SQL Server database is not the default data store for Power Apps; Power Apps uses Dataverse.
- D. Dataflows are a data preparation tool, not a connector type for accessing Power Apps data sources.
Question 2
For the sales department at your company, you publish a Power BI report that imports data from a Microsoft Excel file located in a Microsoft SharePoint folder. The data model contains several measures. You need to create a Power BI report from the existing data. The solution must minimize development effort. Which type of data source should you use?
Show answer and explanation
Correct answer: A. Power BI dataset
To minimize development effort when creating a new report from an existing Power BI report that already contains a data model with measures, you should connect to the existing Power BI dataset as a data source. This allows you to leverage the already-defined measures and data model without recreating them, reducing development work significantly.
Why the other options are wrong
- B. Connecting directly to SharePoint folder would require re-importing and rebuilding the data model and measures.
- C. Dataflows are for data preparation and transformation, not the most efficient way to reuse an existing model.
- D. Using an Excel workbook directly would bypass the existing data model and measures already created.
Question 3
You import two Microsoft Excel tables named Customer and Address into Power Query. Customer contains the following columns: • Customer ID • Customer Name • Phone • Email Address • Address ID Address contains the following columns: • Address ID • Address Line 1 • Address Line 2 • City • State/Region • Country • Postal Code Each Customer ID represents a unique customer in the Customer table. Each Address ID represents a unique address in the Address table. You need to create a query that has one row per customer. Each row must contain City, State/Region, and Country for each customer. What should you do?
Show answer and explanation
Correct answer: A. Merge the Customer and Address tables.
Merging the Customer and Address tables on the shared Address ID column will combine the two tables so that each customer row includes the related address information (City, State/Region, Country). This creates one row per customer with all required address fields, which is exactly what the requirement specifies.
Why the other options are wrong
- B. Grouping would aggregate rows rather than creating one row per customer with address details.
- C. Transposing switches rows and columns, which does not solve the requirement of combining customer data with address information.
- D. Appending stacks tables vertically, which does not create the customer-address relationship needed.
Question 4
You are building a Power BI report that uses data from an Azure SQL database named erp1. You import the following tables. You need to perform the following analyses: • Orders sold over time that include a measure of the total order value Orders by attributes of products sold The solution must minimize update times when interacting with visuals in the report. What should you do first?
Show answer and explanation
Correct answer: D. From Power Query, merge the Orders query and the Order Line Items query.
To analyze orders sold over time with total order value and orders by product attributes while minimizing update times, the Orders and Order Line Items tables must be merged in Power Query first. This consolidation creates a denormalized table that eliminates the need for complex DAX calculations and relationship traversals during report interactions. Since Order Line Items contains the quantity and price details needed to calculate order values, and Orders contains the high-level order information, merging them in Power Query ensures that calculations are performed once during data refresh rather than repeatedly when users interact with visuals, resulting in optimal performance.
Why the other options are wrong
- A. Merging Order Line Items with Products would create unnecessary complexity for the primary requirement of analyzing orders by value over time, and doesn't directly support the performance optimization needed.
- B. A calculated column is computed when the formula is entered and when the table is refreshed, and its values are stored in the model, so it is not recalculated during report interactions. It is still the wrong first step: a list of product categories stored on each Orders row adds to the model size and does not give a usable filter for analyzing orders by product attributes, and it does not bring the order value details into the Orders table.
- C. Calculating order counts per product using DAX does not address the core requirement of calculating total order value and would still require DAX computation during report use rather than at data refresh.
Question 5
You have a Microsoft SharePoint Online site that contains several document libraries. One of the document libraries contains manufacturing reports saved as Microsoft Excel files. All the manufacturing reports have the same data structure. You need to use Power BI Desktop to load only the manufacturing reports to a table for analysis. What should you do?
Show answer and explanation
Correct answer: A. Get data from a SharePoint folder and enter the site URL Select Transform, then filter by the folder path to the manufacturing reports library.
To load multiple Excel files with the same structure from a specific SharePoint document library, you should use 'Get data from a SharePoint folder' with the site URL, then use Transform to filter by the folder path to the manufacturing reports library. This approach automatically combines multiple files from that location into a single table for analysis.
Why the other options are wrong
- B. SharePoint list connector is for loading list data, not document libraries containing files; filtering by folder path works with folder connector, not list connector.
- C. While Combine & Load can work with SharePoint folder, option A correctly specifies the Transform step needed for filtering.
- D. SharePoint list connector is inappropriate for document libraries; lists and folders are different connection types.
Question 6
You have a CSV file that contains user complaints. The file contains a column named Logged. Logged contains the date and time each complaint occurred. The data in Logged is in the following format: 2018-12-31 at 08:59. You need to be able to analyze the complaints by the logged date and use a built-in date hierarchy. What should you do?
Show answer and explanation
Correct answer: C. Split the Logged column by using at as the delimiter.
The Logged column contains both date and time in the format '2018-12-31 at 08:59'. To extract just the date portion and use a built-in date hierarchy, you should split the column using 'at' as the delimiter. This separates the date part ('2018-12-31') from the time part, allowing you to work with the date portion as a proper Date type and access hierarchy features.
Why the other options are wrong
- A. Extracting the last 11 characters would give '08:59' (the time part), not the date.
- B. Changing the entire Logged column to Date type would fail because it contains the time portion and 'at' text.
- D. Extracting the first 11 characters would include '2018-12-31 ' (with trailing space), which includes the leading part of the unwanted text.
Question 7
You have a Microsoft Excel file in a Microsoft OneDrive folder. The file must be imported to a Power BI dataset. You need to ensure that the dataset can be refreshed in powerbi.com. Which two connectors can you use to connect to the file? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: D, E. SharePoint folder; Web
Both the SharePoint folder connector and Web connector can access and refresh Excel files in OneDrive in powerbi.com. The SharePoint folder connector works because OneDrive integrates with SharePoint, and the Web connector can access OneDrive URLs. These methods support scheduled refresh in the Power BI service, enabling dataset updates without manual intervention.
Why the other options are wrong
- A. The Excel Workbook connector requires manual upload and does not support automatic refresh in powerbi.com.
- B. The Text/CSV connector is designed for text and CSV files, not Excel files with complex structures.
- C. The Folder connector cannot be used with files in cloud locations like OneDrive for automated refresh in powerbi.com.
Question 8
You have an Azure SQL database that contains sales transactions. The database is updated frequently. You need to generate reports from the data to detect fraudulent transactions. The data must be visible within five minutes of an update. How should you configure the data connection?
Show answer and explanation
Correct answer: D. Set Data Connectivity mode to DirectQuery.
For fraud detection with data visibility required within five minutes of database updates, DirectQuery mode is the correct choice. DirectQuery queries the source database directly for each report interaction, ensuring near-real-time data availability. Import mode would only show data as of the last scheduled refresh, which cannot guarantee the five-minute requirement.
Why the other options are wrong
- A. Adding a SQL statement alone does not address the refresh timing requirement; it's a query optimization, not a connectivity mode.
- B. Setting Command timeout affects query timeout duration, not refresh frequency or data freshness.
- C. Import mode requires scheduled refreshes and would not guarantee data visibility within five minutes of updates.
Question 9
A business intelligence (BI) developer creates a dataflow in Power BI that uses DirectQuery to access tables from an on-premises Microsoft SQL server. The Enhanced Dataflows Compute Engine is turned on for the dataflow. You need to use the dataflow in a report. The solution must meet the following requirements: • Minimize online processing operations. • Minimize calculation times and render times for visuals. • Include data from the current year, up to and including the previous day. What should you do?
Show answer and explanation
Correct answer: C. Create a dataflows connection that has Import mode selected and schedule a daily refresh.
To minimize online processing and calculation times while ensuring current-year data up to the previous day, you should create a dataflow connection in Import mode with a daily scheduled refresh. Import mode pre-processes and stores data, reducing query overhead and render times. A daily refresh ensures data freshness up to the previous day while minimizing processing burden, which aligns with all stated requirements better than DirectQuery's continuous querying.
Why the other options are wrong
- A. DirectQuery with the Enhanced Compute Engine would still perform online processing operations for each visual interaction, not minimizing them.
- B. DirectQuery mode does not minimize online processing; it increases it by querying the source database for each interaction.
- D. Hourly refresh is more frequent than necessary for the stated requirement and would increase resource consumption without benefit.
Question 10
You attempt to connect Power BI Desktop to a Cassandra database. From the Get Data connector list, you discover that there is no specific connector for the Cassandra database. You need to select an alternate data connector that will connect to the database. Which type of connector should you choose?
Show answer and explanation
Correct answer: B. ODBC
When a specific connector is not available for a database like Cassandra, ODBC (Open Database Connectivity) is the appropriate universal connector choice. ODBC provides a standardized interface that works with many databases through their ODBC drivers. This is the standard approach for connecting to unsupported databases in Power BI Desktop.
Why the other options are wrong
- A. SQL Server connector is specific to Microsoft SQL Server and will not work with Cassandra.
- C. OLE DB is an older technology primarily for Windows and is less commonly used for modern database connections compared to ODBC.
- D. OData is a protocol for data access and is not suitable for direct database connectivity like ODBC.
What people say about the full PL-300 pack 5.0 from 23
Pass my PL 300 exam with 860 scores, Thanks for giving Best material for Microsoft Power BI Data Analyst exam, your PL-300 Dumps cover all questions which is really helpful for me. Thanks again.
Big thanks, this was exactly what I needed for PL-300. Passed.
I get super anxious during exams. But Certstash’s PL-300 exam dumps came in clutch! They calmed my nerves by familiarizing me with the question styles and content areas. Practicing with these questions boosted my confidence and helped me pass the exam!
Question 11
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: B. Remove unused columns from tables in the data model.
The PBIX file is 550 MB with 12 million rows, indicating a large data model. Removing unused columns from the data model reduces file size, memory consumption, and refresh time, which directly improves report performance. Unused columns take up storage and memory without providing value. This is the most impactful optimization for this scenario, especially in shared capacity where resources are limited.
Why the other options are wrong
- A. Iterator functions like SUMX are generally slower than their aggregation counterparts; this would worsen performance, not improve it.
- C. Replacing default visuals with AppSource visuals typically increases resource consumption and complexity rather than improving performance.
- D. Increasing refresh frequency does not address the slow visual loading problem and may further consume shared capacity resources.
Question 12
You have a Power BI query named Expenses that imports the following data. Users only use the date portion of the TransactionDate value when performing data analysis. You need to minimize the model size without affecting the analysis. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, C. Change the data type of the TransactionDate column to Date; Remove the PostDate column.
To minimize model size without affecting analysis, you should change TransactionDate to Date data type (removing the time portion that users don't analyze), which reduces storage while preserving analytical capability. Additionally, you should remove the PostDate column entirely since users only analyze the transaction date for their analysis; PostDate is redundant and serves no analytical purpose, making its removal a direct way to reduce model size without impact.
Why the other options are wrong
- B. Changing PostDate to Date type still keeps unnecessary data in the model; PostDate should be removed instead since users don't use it for analysis.
- D. TransactionID is a unique identifier needed for transaction-level tracking and integrity; removing it would affect data relationships and analytical capability.
Question 13
You have a CSV file that contains user complaints. The file contains a column named Logged. Logged contains the date and time each complaint occurred. The data in Logged is in the following format: 2018-12-31 at 08:59. You need to be able to analyze the complaints by the logged date and use a built-in date hierarchy. What should you do?
Show answer and explanation
Correct answer: C. Create a column by example that starts with 2018-12-31 and set the data type of the new column to Date.
The 'Column by Example' feature in Power Query allows you to demonstrate the desired output (2018-12-31) and Power Query learns the pattern to extract the date portion from the full timestamp. By setting the resulting column's data type to Date, you enable Power BI's built-in date hierarchy functionality, which is exactly what the requirement specifies. This approach is cleaner and more robust than manual character extraction.
Why the other options are wrong
- A. Extracting the first 11 characters would include the time portion and not properly isolate the date; the data type would also need to be set to Date.
- B. Creating a conditional column that outputs only the year loses the full date information needed for proper date hierarchy analysis.
- D. Extracting the last 11 characters would capture the time portion (08:59) rather than the date, which is the opposite of what is needed.
Question 14
You have a Power BI data model that contains a table named Employees. The table has the following columns: • Employee Name • Email Address • Start Date • Job Title You are implementing dynamic row-level security (RLS). You need to create a table filter to meet the following requirements: • Users must see only their own employee data. • The DAX expression must work in both Power BI Desktop and the Power BI service. Which expression should you use?
Show answer and explanation
Correct answer: D. [Email Address] = USERPRINCIPALNAME()
USERPRINCIPALNAME() returns the user's email address (principal name) and works consistently in both Power BI Desktop and the Power BI service, making it the correct choice for RLS filters that compare against email addresses. The Email Address column contains the UPN format that matches the USERPRINCIPALNAME() function output, ensuring users see only their own data.
Why the other options are wrong
- A. Using subtraction operator with USERNAME() is not valid DAX syntax for filtering and would cause an error.
- B. Comparing Employee Name with USERPRINCIPALNAME() would fail because names don't match email format, and would not reliably identify users.
- C. USERNAME() is unreliable across Power BI Desktop and the Power BI service environments and doesn't match email address format in the column.
Question 15
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You are modeling data by using Microsoft Power BI. Part of the data model is a large Microsoft SQL Server table named Order that has more than 100 million records. During the development process, you need to import a sample of the data from the Order table. Solution: You write a DAX expression that uses the FILTER function. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Using a DAX FILTER function does not meet the goal because DAX operates on data already loaded into the Power BI model. By the time a DAX expression executes, the entire 100+ million records have already been imported from SQL Server, consuming significant resources and time. DAX filtering is a model-layer operation, not a data source-layer operation suitable for sampling during development.
Why the other options are wrong
- A. DAX FILTER functions work on already-imported data and do not reduce the initial data transfer or import burden.
Question 16
From Power Query Editor, you attempt to execute a query and receive the following error message. Datasource.Error: Could not find file. What are two possible causes of the error? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, D. You do not have permissions to the file; The referenced file was moved to a new location.
The error 'Could not find file' occurs when Power Query cannot locate or access the referenced file. Two complete solutions are: (A) lack of permissions prevents accessing the file even if it exists, and (D) the file being moved to a new location means the original path no longer resolves. Both directly explain why the file cannot be found.
Why the other options are wrong
- B. Privacy levels affect data combination and mashup scenarios, not whether a file can be found initially.
- C. A locked file would typically produce a different error related to file access or being in use, not 'could not find file'.
Question 17
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: From the Fields pane, you rename the date table as Due Date. You use a DAX expression to create Order Date and Delivery Date as calculated tables. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
This solution meets the goal. By renaming the original date table as Due Date and creating Order Date and Delivery Date as calculated tables using DAX expressions (typically referencing the Due Date table), you establish three separate date dimension tables in the model. Each can be related to its corresponding foreign key in the sales table, enabling analysis across all three date dimensions without redundant data storage.
Why the other options are wrong
- B. Creating calculated tables from a DAX expression is a valid technique to replicate a date table for multiple relationship purposes.
Question 18
You have a Microsoft Excel file in a Microsoft OneDrive folder. The file must be imported to a Power BI semantic model. You need to ensure that the semantic model can be refreshed in PowerBi.com. Which two connectors can you use to connect to the file? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, E. Web; SharePoint folder
The Web connector can access Excel files hosted on OneDrive through a web URL, and the SharePoint folder connector can access OneDrive files since OneDrive is built on SharePoint infrastructure. Both of these connectors support refresh functionality in Power BI Service. The Excel Workbook connector works in Desktop but not for cloud refresh, Folder requires local paths, and Text/CSV is not suitable for Excel files.
Why the other options are wrong
- B. Excel Workbook connector does not support refresh in Power BI Service.
- C. Folder connector requires local file paths and cannot access OneDrive.
- D. Text/CSV connector is not designed for Excel file formats.
Question 19
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You are modeling data by using Microsoft Power BI. Part of the data model is a large Microsoft SQL Server table named Order that has more than 100 million records. During the development process, you need to import a sample of the data from the Order table. Solution: You add a WHERE clause to the SQL statement. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
Adding a WHERE clause to the SQL statement meets the goal because it filters data at the source before transmission to Power BI. This approach reduces the volume of data transferred from SQL Server, minimizes processing overhead, and significantly decreases development time and resource consumption. The filtering happens at the database level, which is the most efficient location for sampling large datasets.
Question 20
You have a CSV file that contains user complaints. The file contains a column named Logged. Logged contains the date and time each complaint occurred. The data in Logged is in the following format: 2018-12-31 at 08:59. You need to be able to analyze the complaints by the logged date and use a built-in date hierarchy. What should you do?
Show answer and explanation
Correct answer: A. Create a column by example that starts with 2018-12-31 and set the data type of the new column to Date
Creating a column by example that starts with '2018-12-31' teaches Power Query to extract the date portion from the Logged column pattern. By then setting the data type of this new column to Date, you preserve the full date information needed for Power BI's built-in date hierarchy functionality while separating it from the time component.
Why the other options are wrong
- B. Creating a column by example without setting the data type to Date will result in a text column, which cannot leverage Power BI's automatic date hierarchy.
- C. Extracting the last 11 characters would give '31 at 08:59', not a proper date format that can be converted to Date type.
- D. Adding a conditional column that extracts only the year loses month and day information required for a functional date hierarchy.
Question 21
You have a Power BI semantic model that contains a table named Table1. Table1 runs in Import storage mode. You need to update the model to change the storage mode of Table1 to DirectQuery. What should you do?
Show answer and explanation
Correct answer: A. Delete Table1, and then add the table to the model again in DirectQuery storage mode.
To change a table's storage mode from Import to DirectQuery, you must delete the table and re-add it in DirectQuery mode. Power BI does not support in-place conversion of storage modes; the table must be removed and recreated with the desired storage mode setting.
Why the other options are wrong
- B. Duplicating the query in Power Query Editor does not change the storage mode of the existing table.
- C. Model view does not provide an option to directly change storage mode from Import to DirectQuery.
- D. Adding an aggregation table does not convert the base table's storage mode.
Question 22
You need to provide a user with the ability to add members to a workspace. The solution must use the principle of least privilege. Which role should you assign to the user?
Show answer and explanation
Correct answer: D. Member
The Member role is the least privileged role that allows a user to add members to a workspace. Viewer has no modification capabilities, Admin has excessive privileges beyond the requirement, and Contributor cannot manage workspace membership. Member role provides exactly the necessary permission to invite and manage workspace members without granting administrative control.
Why the other options are wrong
- A. Viewer role cannot add members to a workspace; it only provides read-only access.
- B. Admin role exceeds the principle of least privilege by granting unnecessary administrative permissions.
- C. Contributor role allows content creation but does not include workspace member management capabilities.
Question 23
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: D. Split the visuals onto multiple pages.
Splitting visuals across multiple pages is the most effective solution for improving report load performance. When all 25 visuals load on a single page, they compete for processing resources simultaneously. Distributing them across multiple pages reduces the rendering load per page, allowing users to interact with the report more responsively. This is especially important given the 550 MB file size and 12 million row dataset.
Why the other options are wrong
- A. Iterator functions like SUMX are typically slower than alternatives and would worsen performance rather than improve it.
- B. Enabling visual interactions increases processing overhead and would further degrade performance.
- C. Replacing default visuals with AppSource visuals would likely increase complexity and file size, not improve performance.
Question 24
You have a Power BI data model that analyzes product sales over time. The data model contains the following tables. A one-to-many relationship exists between the tables. The auto date/time option for the data model is enabled. You need to reduce the size of the data model while maintaining the ability to analyze product sales by month and quarter. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct answer is worth one point.
Show answer and explanation
Correct answer: B, C. Disable the auto date/time option; Create a Date table and select Mark as Date Table.
To reduce the data model size while maintaining month and quarter analysis capability, create a dedicated Date table and mark it as a Date Table (option C), and disable the auto date/time option (option B), which prevents Power BI from automatically generating a hidden date table for each date column. The Sales table has three date columns (Order Date, Ship Date and Delivered Date), and each one that generates a hidden table increases the model size. By disabling this feature and using one explicit Date table related to Sales, you eliminate the redundant hidden tables while preserving the ability to analyze sales by month and quarter.
Why the other options are wrong
- A. The model has no Date table yet, so a relationship cannot be created until the table from option C exists, and a relationship alone does not remove the hidden auto date/time tables.
- D. Disabling load on the Date table would remove it from the model entirely, eliminating the ability to analyze by month and quarter as required.
- E. Removing the relationship between Product and Sales tables would break the data model's core structure and prevent product-level sales analysis.
Question 25
You have a Power BI semantic model that contains two tables named DimCustomer and FactOrderDetails. The primary key of DimCustomer is CustomerID. FactOrderDetails contains a column named CustomerID that can be used to relate to DimCustomer. Multiple rows in FactOrderDetails possibly have the same CustomerID value. You need to create a relationship from FactOrderDetails to DimCustomer. The solution must optimize query performance. What should you create?
Show answer and explanation
Correct answer: A. an active, single-direction, many-to-one relationship
To optimize query performance when relating FactOrderDetails (many) to DimCustomer (one), you need an active, single-direction, many-to-one relationship. Active relationships are used by default in DAX calculations, and many-to-one is the correct cardinality since multiple rows in FactOrderDetails share the same CustomerID. Single-direction ensures efficient filtering from the dimension to the fact table.
Why the other options are wrong
- B. One-to-many cardinality is backwards; FactOrderDetails is the many side, not the one side.
- C. One-to-many is incorrect cardinality for this direction; it should be many-to-one.
- D. Bi-directional relationships are less efficient for query performance than single-direction relationships.
Question 26
You are reviewing a Power BI data model. You have a calculated table that has the following definition. ProductList = INTERSECT ( ProductsGroupA, ProductsGroupB ) You need to identify the results of the DAX expression. Which rows will be returned in ProductList?
Show answer and explanation
Correct answer: C. all the rows in ProductsGroupA that have a matching row in ProductsGroupB
The INTERSECT function returns only the rows that appear in both tables. It returns rows from the first table argument (ProductsGroupA) that have matching rows in the second table argument (ProductsGroupB). This is a set intersection operation that requires rows to exist in both tables.
Why the other options are wrong
- A. INTERSECT returns rows from the first table, not the second table.
- B. INTERSECT returns only matching rows, not all rows from both tables.
- D. INTERSECT returns matching rows, not rows with no match; that would be an anti-join operation.
Question 27
You have a Power BI report named Report that contains the following tables. For the last three days, refresh in Power BI has failed, and you receive the following error message: “You have reached the maximum allowable memory allocation for your tier. Consider upgrading to a tier with more available memory.” You need to resolve the error and ensure that query response times are minimized for end users. What should you do?
Show answer and explanation
Correct answer: C. Reduce the size of the invoice table by summarizing sales by Product, Sales person, Calendar, and Customer.
The Invoice table has 12 million rows, which causes the memory error during refresh, while the dimensions are very small (10 products, 5 sales people, 25 customers and about three months of dates). Summarizing Invoice by those four dimensions reduces it to at most about 115,000 rows, which resolves the memory error. Because the table stays in Import mode, visuals are answered from the in-memory cache, which keeps query response times to a minimum. Loading pre-summarized data is one of the most effective ways to reduce model size, and the trade-off is the loss of invoice-level detail, which the requirements do not call for.
Why the other options are wrong
- A. Merging the Sales person and Invoice tables would add columns to the Invoice table and keep all 12 million rows, so it would not resolve the memory problem.
- B. Changing Invoice to DirectQuery removes it from memory, but each visual must then query the source, and those queries can take longer than Import queries, so it does not minimize query response times.
- D. This design keeps historical data in DirectQuery, so queries over it still go to the source and are slower. It is also the reverse of the usual hybrid design, which keeps historical data in Import and recent data in DirectQuery.
Question 28
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an on-premises data gateway. You need to reduce the amount of data sent through the gateway by semantic models that run in import storage mode. Solution: You configure incremental refresh. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
Configuring incremental refresh directly reduces the amount of data sent through the gateway by loading only new and changed data instead of the entire dataset with each refresh cycle. This approach partitions data by date and updates only the most recent partitions, significantly minimizing gateway traffic for Import mode models.
Why the other options are wrong
- B. Incremental refresh is specifically designed to reduce gateway data traffic for Import models.
Question 29
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: From Power Query Editor, you rename the date query as Due Date. You reference the Due Date query twice to make the queries for Order Date and Delivery Date. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
This solution meets the goal. By referencing the same date query three times in Power Query and renaming each reference (Due Date, Order Date, Delivery Date), you create three separate date tables in the model. Each can then be related to the corresponding foreign key in the sales table, and Power BI will allow you to use all three relationships for analysis over time. This approach creates distinct table entities that support all required date-based analyses.
Why the other options are wrong
- B. Referencing and renaming the date query multiple times creates separate usable date tables that each support relationships with the sales table.
Question 30
You plan to create a Power BI semantic model named Model1 that will contain data from an Azure SQL database named DB1. Model1 must show updated data within two minutes of the data being updated in DB1. You need to select a connectivity mode for the connection to DB1. What should you choose?
Show answer and explanation
Correct answer: A. DirectQuery
DirectQuery mode connects directly to the Azure SQL database and queries data in real-time, enabling updates within two minutes of database changes. Import mode requires scheduled refreshes and cannot meet the two-minute requirement. Live connection applies to Analysis Services, not Azure SQL databases. DirectQuery is the only mode that provides near-real-time data refresh by querying the source database whenever a report is accessed.
Why the other options are wrong
- B. Live connection is used for Analysis Services or Power BI datasets, not Azure SQL databases.
- C. Import mode requires scheduled refreshes and cannot update within two minutes consistently.
Question 31
You have a Power BI semantic model that imports data from a Microsoft SQL Server database and an Oracle database. The semantic model is deployed to the Power BI service. Parameters are already used for the SQL Server data source. You are planning to make change to the semantic model that will ensure consistent behavior across all the data sources. You need to enable parameterization for the Oracle data source. The solution must minimize changes to the existing model. What should you do?
Show answer and explanation
Correct answer: A. From Power BI Desktop, modify the Oracle data source to use a parameter, and then republish the model to the Power BI service.
To enable parameterization for the Oracle data source while minimizing changes to the existing model, you must modify the data source connection in Power BI Desktop to use a parameter, then republish the model. This approach allows consistent parameterization across both SQL Server and Oracle sources without requiring workarounds or creating redundant models.
Why the other options are wrong
- B. Modifying SQL Server parameters in the Power BI service does not enable parameterization for Oracle; service-level parameter changes are limited.
- C. Creating a new semantic model adds unnecessary complexity and doesn't directly solve the requirement to parameterize the Oracle source in the existing model.
- D. Setting parameter values in the Power BI service requires that parameters already exist in the model; you must first add the parameter in Desktop.
Question 32
You have a custom connector that returns ID, From, To, Subject, Body, and Has Attachments for every email sent during the past year. More than 10 million records are returned. You build a report analyzing the internal networks of employees based on whom they send emails to. You need to prevent report recipients from reading the analyzed emails. The solution must minimize the model size. What should you do?
Show answer and explanation
Correct answer: B. Remove the Subject and Body columns during the import.
Removing the Subject and Body columns during import is the correct solution because it minimizes model size by eliminating unnecessary data at the source, prevents report recipients from accessing sensitive email content, and reduces memory overhead. This approach addresses both security and performance concerns before data enters the model, making it more efficient than hiding columns which still consumes storage.
Why the other options are wrong
- A. Hiding columns in Model view still stores the data in memory, consuming space and not truly preventing determined users from accessing the information.
- C. Row-level security filters records based on user identity but does not prevent users from seeing the actual email content in their filtered results.
Question 33
You have a collection of reports for the HR department of your company. The datasets use row-level security (RLS). The company has multiple sales regions. Each sales region has an HR manager. You need to ensure that the HR managers can interact with the data from their region only. The HR managers must be prevented from changing the layout of the reports. How should you provision access to the reports for the HR managers?
Show answer and explanation
Correct answer: A. Publish the reports in an app and grant the HR managers access permission.
Publishing reports in an app with appropriate access permissions is the standard way to distribute reports with RLS to end users. Apps provide a clean, controlled interface where HR managers can view only their regional data (enforced by RLS) and cannot modify the report layout or structure, meeting both security and governance requirements.
Why the other options are wrong
- B. Making HR managers workspace members would grant them edit permissions on the reports and datasets, allowing them to change layouts contrary to the requirement.
- C. Publishing to a different workspace from the datasets creates maintenance complexity and doesn't prevent HR managers from modifying reports if they have access.
- D. Adding HR managers as workspace members grants them edit permissions, which violates the requirement to prevent them from changing the report layout.
Question 34
You have a semantic model that uses a live connection to a semantic model in the Power BI service. You need to create a Power BI report named RPT1 that only uses the live connection. Which three components can you add to RPT1? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, B, C. a report measure; a calculated column; a calculated table
When using a live connection to a Power BI semantic model, you can create report measures (A), calculated columns (B), and calculated tables (C) locally in your report. These are query-time objects that work with live connections. However, you cannot add new columns (D) or new tables (E) that would require importing or modifying source data, as live connections are read-only for base data.
Why the other options are wrong
- D. New columns cannot be added in a live connection; only calculated columns can be created.
- E. New tables cannot be added in a live connection; only calculated tables (metadata-based) can be created.
Question 35
You use Power Query to import two tables named Order Header and Order Details from an Azure SQL database. The Order Header table relates to the Order Details table by using a column named Order ID in each table. You need to combine the tables into a single query that contains the unique columns of each table. What should you select in Power Query Editor?
Show answer and explanation
Correct answer: A. Merge queries
Merge queries is the correct operation to combine two tables based on a shared column (Order ID). A merge performs a join operation similar to SQL joins, bringing together unique columns from both the Order Header and Order Details tables based on their relationship.
Why the other options are wrong
- B. Combine files is used to merge multiple files with similar structures, not to join two tables on a common column.
- C. Append queries stacks tables vertically (adding rows), not joining them horizontally on a relationship key.
Question 36
You need to create a semantic model in Power BI Desktop. The solution must meet the following requirements: • The model must contain a table named Orders that has one row per order. Each row will contain the total amount per order. • The orders must be filtered to the selected CustomerID value. • Users must select the CustomerID value from a list. • The list of customers must come from an OData source. Which three objects should you create in Power Query Editor? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, D, E. an Orders query that has a filter on CustomerID; a Customers query that has a single column containing a list of customer IDs; a parameter for CustomerID that uses a query to populate the suggested values
The solution requires: (A) an Orders query filtered by the CustomerID parameter to show only relevant orders; (D) a Customers query with a single column of customer IDs from the OData source to populate the selection list; and (E) a parameter for CustomerID that uses the Customers query to populate suggested values, allowing users to select from a dropdown. These three components work together to create a dependent filtering mechanism where users select a customer ID from a dynamic list that controls the Orders data.
Why the other options are wrong
- B. A Customers query filtered on CustomerID is unnecessary since the parameter needs all customers for the selection list.
- C. An Orders query with a list of customers violates the requirement that each row represents one order with a total amount.
- F. Manually entered values cannot dynamically source from the OData provider and would not scale for customer lists.
Question 37
You use Power Query Editor to ingest data into Power BI Desktop from two Microsoft SharePoint Online lists named Customers and Locations. Each list contains more than 25,000 rows. Locations is referenced in Customers to generate qualified values in a drop-down list. You create the following query in Power Query Editor. You experience long load times and discover that Power Query Editor makes calls to the URL of each row in the final dataset. You need to optimize the query. The solution must minimize development effort. What should you do?
Show answer and explanation
Correct answer: A. Read the lists separately, and then merge the lists.
The performance issue occurs because ExpandTableColumn is creating a row-by-row lookup to the Locations table URL for each customer record. By reading the lists separately and then merging them (using a merge/join operation), Power Query can optimize the operation at the query level rather than making individual calls for each row. This reduces the number of URL calls from 25,000+ individual requests to a single optimized merge operation between two loaded tables.
Why the other options are wrong
- B. Appending lists combines rows vertically and doesn't address the foreign key relationship needed between Customers and Locations.
- C. A custom function would still execute the same underlying operations and wouldn't resolve the row-by-row URL calls inherent to the current approach.
- D. Expanding the referenced column is what the current query already does (ExpandTableColumn), which is causing the performance problem, not solving it.
Question 38
You create a Power BI report named RPT1 that contains sales data. The data contains 10 million rows. RPT1 contains 15 different visuals. Users state that RPT1 is slow to load. You need to investigate the cause of the issue. What should you use?
Show answer and explanation
Correct answer: D. Performance analyzer
Performance analyzer is the dedicated tool in Power BI Desktop for diagnosing slow report performance. It measures the time each visual takes to load and render, identifying which visuals or queries are causing the bottleneck. This is the appropriate first step when investigating report load times across multiple visuals.
Why the other options are wrong
- A. Power Query Editor optimizes data transformation and loading, but is not the diagnostic tool for report visual performance.
- B. Query Diagnostics is used in Power BI Service to debug connectivity and query issues, not for analyzing visual load times in Desktop.
- C. DAX query view displays DAX code but does not provide performance metrics for visuals.
Question 39
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an on-premises data gateway. You need to reduce the amount of data sent through the gateway by semantic models that run in Import storage mode. Solution: You create aggregations to summarize results. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
Creating aggregations reduces the amount of data sent through the gateway by summarizing detailed data at the source before it's loaded into the Import model. Aggregations provide pre-calculated summaries that minimize the raw data transferred from on-premises sources to the cloud, directly addressing the goal of reducing gateway data traffic for Import mode models.
Why the other options are wrong
- B. Aggregations do effectively reduce data sent through the gateway by summarizing at the source.
Question 40
You have a Power BI semantic model that contains four queries named Query 1, Query2. Query3, and Query4. Query1 loads customer data into the model and is referenced by the other three queries. You discover that data refresh for the model is slow. You need to improve the data refresh time. The solution must minimize costs. What should you do?
Show answer and explanation
Correct answer: C. Reconfigure Query1 as a dataflow entity.
Reconfiguring Query1 as a dataflow entity minimizes costs while improving refresh performance. Dataflows cache the query results and allow other queries to reference the dataflow instead of re-executing the same query multiple times. This reduces computation load on the data source and improves overall refresh time. It's more cost-effective than increasing capacity and more efficient than using Table.buffer or duplication.
Why the other options are wrong
- A. Table.buffer may help but is less efficient than dataflows for shared query references and increases memory usage.
- B. Duplicating Query1 repeats the workload instead of optimizing it, increasing refresh time and costs.
- D. Increasing capacity is more expensive than using dataflows and does not address the root cause of slow refresh.
Question 41
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You are modeling data by using Microsoft Power BI. Part of the data model is a large Microsoft SQL Server table named Order that has more than 100 million records. During the development process, you need to import a sample of the data from the Order table. Solution: From Power Query Editor, you import the table and then add a filter step to the query. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Adding a filter step in Power Query Editor does not meet the goal because the filter is applied after the entire 100+ million record table is loaded into memory and processed. This approach transfers all records from SQL Server to Power BI before filtering, defeating the purpose of sampling during development. The data transfer and processing still consume full resources.
Why the other options are wrong
- A. While filtering in Power Query is a valid technique, it does not efficiently sample large datasets because it loads all data first before filtering.
Question 42
You use Power BI Desktop to load data from a Microsoft SQL Server database. While waiting for the data to load, you receive the following error. You need to resolve the error. What are two ways to achieve the goal? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, B. Reduce the number of rows and columns returned by each query; Split log running queries into subsets of columns and use Power Query to merge the queries.
The ERROR [08001] timeout expired indicates that the SQL Server query is taking too long to execute and exceeds Power BI's connection timeout threshold. Option A directly addresses this by reducing the data volume returned per query, which decreases execution time and prevents timeouts. Option B solves the same problem by breaking a single long-running query into smaller, more manageable queries that execute faster individually, then combines the results in Power Query, effectively distributing the load across multiple faster queries. Both approaches reduce query execution time below the timeout limit.
Why the other options are wrong
- C. Combining long running queries into one query would increase execution time and worsen the timeout problem rather than resolve it.
- D. Disabling query folding would push processing to Power BI's engine instead of SQL Server, making queries slower and more likely to timeout, not faster.
Question 43
You have a CSV file that contains user complaints. The file contains a column named Logged. Logged contains the date and time each complaint occurred. The data in Logged is in the following format: 2018-12-31 at 08:59. You need to be able to analyze the complaints by the logged date and use a built-in date hierarchy. What should you do?
Show answer and explanation
Correct answer: B. Split the Logged column by using at as the delimiter.
The Logged column contains both date and time in the format '2018-12-31 at 08:59'. To use a built-in date hierarchy, you need to extract just the date portion. Splitting the column by 'at' as the delimiter will separate the date (2018-12-31) from the time (08:59), allowing you to then set the date portion to Date data type and leverage Power BI's automatic date hierarchy functionality.
Why the other options are wrong
- A. Changing the entire Logged column to Date type will fail or produce errors because the format includes text ('at') and time that the Date type cannot parse automatically.
- C. Adding a conditional column that outputs only the year (2018) loses the month and day information needed for a proper date hierarchy.
- D. The Parse function is not a standard option in Power Query's Date transformations; the split approach is the correct transformation method.
Question 44
In Power Query Editor, you have a query named Sales Data that contains the following columns. You need to create two queries named Product Dimension and Sales Fact based on the Sales Data query. The solution must minimize maintenance effort and the size of the dataset. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, E. Reference the Sales Data query to create the new queries; Disable the load for the Sales Data query.
To minimize maintenance effort and dataset size, you should Reference the Sales Data query (option A) to create both Product Dimension and Sales Fact queries. This creates a dependency relationship where changes to the source Sales Data automatically propagate to both queries, reducing maintenance burden. Then, you must Disable the load for the Sales Data query (option E) so that only the dimensional and fact tables are loaded into the data model, minimizing the dataset size by preventing the intermediate staging query from consuming memory and storage. This approach follows star schema best practices where the base query serves as a reusable foundation without being materialized into the model.
Why the other options are wrong
- B. Disabling load for Sales Fact would prevent the fact table from being available in the model, which defeats the purpose of creating it.
- C. Duplicating creates separate copies that must be maintained independently, increasing maintenance effort whenever the source data structure changes.
- D. Clearing Include in report refresh does not reduce dataset size; the data would still be loaded and only the refresh behavior would change.
Question 45
You have a Power BI semantic model named Model1 that contains two tables named DimDate and FactSales. There is an active relationship between DimDate and FactSales. DimDate is marked as the date table. FactSales contains the following data. Model1 contains the following measure. Previous Year Sales = CALCULATE([Sales Amount], PREVIOUSYEAR('Date'[Date])) You have a report that uses Model1. The report has a single report page that has a page level filter set to May 9, 2024. The result of the Previous Year Sales measure is displayed in a card visual. Which value will appear in the card visual?
Show answer and explanation
Correct answer: D. 60
The report page has a filter for May 9, 2024. PREVIOUSYEAR returns all dates from the previous year based on the first date in context, so it returns every date in 2023. The measure therefore calculates [Sales Amount] for all of 2023: 15 + 20 + 25 = 60.
Why the other options are wrong
- A. 10 is the sales amount for May 9, 2024, the current filtered date, not the previous year.
- B. 15 is the amount for May 9, 2023 only. That is the shifted date a function such as SAMEPERIODLASTYEAR would use, but PREVIOUSYEAR returns the whole previous year.
- C. 35 is the sum of only two of the 2023 rows, May 9 (15) and May 1 (20), and leaves out May 29 (25).
Question 46
In Power BI Desktop, you are building a sales report that contains two tables. Both tables have row-level security (RLS) configured. You need to create a relationship between the tables. The solution must ensure that bidirectional cross-filtering honors the RLS settings. What should you do?
Show answer and explanation
Correct answer: B. Create an active relationship between the tables and select Apply security filter in both directions.
Creating an active relationship with Apply security filter in both directions is the correct solution. The 'Apply security filter in both directions' option ensures that RLS rules are honored when cross-filtering works in both directions across the relationship. An active relationship is required because it enables automatic cross-filtering, and the bidirectional security filter setting ensures that RLS constraints are enforced regardless of filter direction.
Why the other options are wrong
- A. An inactive relationship requires explicit activation and does not support automatic cross-filtering needed for proper RLS enforcement.
- C. Assume referential integrity improves query performance but does not address RLS security filtering requirements.
- D. While an active relationship is correct, selecting Assume referential integrity instead of Apply security filter in both directions fails to properly honor RLS settings across filter directions.
Question 47
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: You create measures that use the USERELATIONSHIP DAX function to filter sales on the active relationship between the sales table and the date table. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Using USERELATIONSHIP to activate inactive relationships requires that inactive relationships exist in the model first. Simply creating measures with USERELATIONSHIP alone does not establish the relationships themselves. You still need to define the inactive relationships between the sales table and date table for each date key before the USERELATIONSHIP function can activate them. Therefore, this solution alone is incomplete and does not fully meet the goal.
Why the other options are wrong
- A. USERELATIONSHIP requires pre-existing inactive relationships; measures alone cannot create the necessary relationships between sales and date tables.
Question 48
You use Power BI Desktop to create a report named RPT1 that loads data from a Microsoft Excel file named File1. File1 is located in a network share. File1 is moved to a different folder. When you open RPT1 in Power BI Desktop, you discover that the report displays outdated data. You need to ensure that the data in File1 refreshes properly. What should you do?
Show answer and explanation
Correct answer: A. Change the data source.
When File1 is moved to a different folder, the original file path stored in RPT1's data source configuration becomes invalid. The report displays outdated data because it cannot find the file in its original location. Changing the data source to point to the new location of File1 is the correct solution. File permissions are not the issue, PBIDS files do not solve location problems, and modifying permissions would not address the path change.
Why the other options are wrong
- B. Clearing file permissions does not address the problem of a file moved to a different folder.
- C. Exporting a PBIDS file does not update the connection path in the existing report.
- D. Modifying file permissions is unrelated to the path change issue.
Question 49
You create a Power BI report named Summary1. You discover that Summary1 is slow. You run Performance analyzer to identify performance metrics for Summary1. Which two metrics display the execution duration in Performance analyzer? Each correct answer present part of the solution. NOTE: Each correct answer is worth one point.
Show answer and explanation
Correct answer: B, E. DAX query; Visual display
The Performance analyzer in Power BI displays execution duration through two specific metrics: 'Visual display' shows the time taken to render the visual on screen, and 'DAX query' shows the time taken to execute the DAX queries against the model. These two metrics directly measure execution duration from query execution through visual rendering. Top Operations, Server requests, and Dependencies provide other diagnostic information but do not specifically display execution duration.
Why the other options are wrong
- A. Top Operations shows which operations consume the most time but is not itself an execution duration metric.
- C. Server requests tracks network communication but does not directly display execution duration.
- D. Dependencies shows relationships between components but does not measure execution duration.
Question 50
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a data source that contains a column. The column contains case sensitive data. You have a Power BI semantic model in DirectQuery mode. You connect to the model and discover that it contains undefined values and errors. You need to resolve the issue. Solution: You implicitly convert the values into the required type. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Implicit type conversion will not resolve undefined values and errors caused by case-sensitive data issues in DirectQuery mode. DirectQuery mode executes queries against the source database, and implicit conversions may mask the underlying data quality problem rather than fixing the root cause of the undefined values and errors.
Why the other options are wrong
- A. This solution does not meet the goal because implicit conversion does not address the actual case sensitivity issue causing the undefined values and errors.
Question 51
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: You create measures that use the USERELATIONSHIP DAX function to filter sales on the inactive relationship between the sales table and the date table. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
The USERELATIONSHIP function activates an inactive relationship within a DAX expression context, allowing that relationship to filter data. By creating measures with USERELATIONSHIP for each of the three date foreign keys (Due Date, Order Date, Delivery Date), you can analyze sales over time using all three date dimensions while keeping only one relationship active by default. This is the standard approach for handling multiple date relationships in Power BI.
Why the other options are wrong
- B. This solution directly addresses the requirement and is a valid, recommended approach in Power BI.
Question 52
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an on-premises data gateway. You need to reduce the amount of data sent through the gateway by semantic models that run in Import storage mode. Solution: You decrease the dashboard cache update frequency. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Decreasing dashboard cache update frequency does not reduce the amount of data sent through the gateway. Cache update frequency relates to how often the query results are cached on the client side, not to the data transfer between the gateway and the semantic model. This affects perceived performance but not the volume of data transmitted through the gateway.
Why the other options are wrong
- A. Cache update frequency doesn't control data volume sent through the gateway.
Question 53
You have a Microsoft Power BI data model that contains three tables named Orders, Date, and City. There is a one-to-many relationship between Date and Orders and between City and Orders. The model contains two row-level security (RLS) roles named Role1 and Role2. Role1 contains the following filter. City[State Province] = "Kentucky" Role2 contains the following filter. Date[Calendar Year] = 2020 - If a user is a member of both Role1 and Role2, what data will they see in a report that uses the model?
Show answer and explanation
Correct answer: A. The user will see data for which the State Province value is Kentucky or where the Calendar Year is 2020.
When a user is assigned to multiple RLS roles, the filters are combined using OR logic, meaning the user sees data that satisfies either condition. Therefore, a member of both Role1 and Role2 will see data where State Province is Kentucky OR Calendar Year is 2020. Power BI applies an OR operation between multiple role filters to avoid overly restrictive access that would result in no data being visible.
Why the other options are wrong
- B. Multiple role membership does not cause errors; Power BI handles this scenario by combining the filters logically.
- C. The user will see more data than just Kentucky, they also see 2020 data regardless of state.
- D. This describes AND logic, but Power BI uses OR logic when combining multiple RLS role filters.
Question 54
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all three dates at the same time. Solution: From the Fields pane, you rename the date table as Due Date. You use a DAX expression to create Order Date and Delivery Date as calculated tables. You create active relationships between the sales table and each date table. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
The solution correctly enables analysis across all three dates by creating three separate date tables (one primary renamed as Due Date, plus calculated tables for Order Date and Delivery Date). Creating active relationships between the Sales table and each date table allows the model to support simultaneous analysis using all three dates. This approach resolves the limitation of having only one active relationship per table by duplicating the date dimension, which is a standard pattern for multi-date analysis in Power BI.
Question 55
You have a Power BI model that contains a table named Sales. The Sales table contains the following columns: • Order Line ID • Product ID • Unit Price • Order ID • Quantity Orders are uniquely identified by using the order ID and can have multiple order lines. Each order line within an order contains a different product ID. You need to write a DAX measure that counts the number of orders. Which formula should you use?
Show answer and explanation
Correct answer: D. DistinctCount('Sales' [Order ID])
DistinctCount() is the correct function to count the number of unique orders because orders can have multiple order lines (rows). Since Order ID can repeat across multiple rows in the Sales table, using DistinctCount ensures each order is counted only once, giving the true number of orders rather than the number of order lines.
Why the other options are wrong
- A. Count() only counts non-blank cells and would count all order line occurrences, not unique orders.
- B. CountA() counts non-blank cells across all data types and would also count duplicate Order IDs, inflating the order count.
- C. CountRows() counts all rows in the table, which equals the number of order lines, not the number of unique orders.
Question 56
You have a Microsoft Fabric eventhouse named Eventhouse1 that contains high-velocity and high-volume data from IoT devices. Eventhouse1 can be queried to deliver data to reports in near-real-time (NRT). You plan to use Power BI Desktop to create a report that will contain both historical and live data. You need to connect to Eventhouse1. The solution must minimize development effort. What should you do?
Show answer and explanation
Correct answer: B. Use DirectQuery connectivity mode.
DirectQuery connectivity mode is the appropriate choice for connecting to an Eventhouse with high-velocity, high-volume IoT data to deliver near-real-time results. DirectQuery queries the source directly without importing, ensuring live data is always current and minimizing development effort by avoiding the need for complex composite model configurations.
Why the other options are wrong
- A. A composite model adds complexity; DirectQuery alone is sufficient and simpler for NRT scenarios.
- C. Import mode would not provide near-real-time data and would require frequent refresh cycles for high-velocity data.
Question 57
You use Power BI Desktop to import two tables named Customer and Contacts. The Customer table contains the following columns: • Customer_Name • Customer ID • Website The Contacts table contains the following columns: • Contact ID • Contact Email • Contact Name • Customer Name A web-based contact form is used to fill the Contacts table. The data is not sanitized. You need to create a merge for the Customer and Contacts tables. What should you do?
Show answer and explanation
Correct answer: D. Enable fuzzy matching.
Since the Contacts table data comes from an unsanitized web form, the Customer_Name field in Contacts may contain inconsistent formatting, extra spaces, or typos that don't exactly match the Customer_Name in the Customer table. Enabling fuzzy matching allows Power BI to match similar but not identical values, which is essential when dealing with unsanitized data that may have minor variations. This ensures records are properly joined despite data quality issues.
Why the other options are wrong
- A. Full Outer join would include unmatched records from both tables, which doesn't solve the matching problem caused by unsanitized data.
- B. Disabling fuzzy matching would make the join more strict and fail to match records with minor inconsistencies in the unsanitized data.
- C. Left Outer join would preserve all Customer records but still fail to match those with data quality issues without fuzzy matching enabled.
Question 58
You use Power Query Editor to preview a query that contains sales order data in the following columns: • Tax Amount • Sales Order ID • Freight Amount • Subtotal Amount • Total Item Quantity The Sales Order ID column uniquely identifies each sales order. The Subtotal Amount and Total Item Quantity columns are always populated, but the Tax Amount and Freight Amount columns are sometimes null when an order has no associated amount. You need to query the data to identify the following metrics by month: • The average item quantity per order • The average freight amount per order • The maximum item quantity per order How should you modify the query?
Show answer and explanation
Correct answer: D. In the Freight Amount column, replace the null values with 0.
To calculate average freight amount per order correctly, null values in the Freight Amount column must be replaced with 0, not removed. Removing rows with null Freight Amount (option C) would eliminate valid orders from the dataset and skew results. Replacing with 0 preserves all orders while treating missing freight as zero freight, which is the correct business logic for orders without freight charges. The Total Item Quantity column should never be modified since it's always populated.
Why the other options are wrong
- A. Total Item Quantity is always populated according to the scenario, so replacing nulls is unnecessary and could introduce incorrect data.
- B. Removing rows with null Tax Amount would eliminate valid orders from analysis when tax simply wasn't applicable to those orders.
- C. Removing rows with null Freight Amount would reduce the dataset and incorrectly exclude orders that had no freight charge, biasing the average calculation.
Question 59
You have a Power BI model that contains two tables named Sales and Date. The Sales table relates to the Date table by using a many-to-one relationship. The Sales table contains the following columns: • Date • Product • SalesAmount You need to create a DAX measure for a rolling 31-day sales total that will return the total sales amount for a selected date and the previous 30 days. Which DAX expression should you use?
Show answer and explanation
Correct answer: B. CALCULATE(SUM(Sales[SalesAmount]), DATESBETWEEN(Date[Date], Max('Date'[Date])-30, Max('Date'[Date])))
DATESBETWEEN creates a date range filter from a start date (Max date minus 30 days) to the end date (Max date), which encompasses the selected date and the previous 30 days (31 days total). When used with CALCULATE, it filters the Sales table to only include rows within this rolling 31-day window. This correctly implements a rolling 31-day total that adjusts based on the selected date context.
Why the other options are wrong
- A. DATEADD shifts the date by 30 days but does not create a range; it returns only sales on that one shifted date.
- C. DATESMTD returns dates for the month-to-date, not a 31-day rolling period.
- D. DISTINCTCOUNT counts unique dates and cannot be used as a filter condition in CALCULATE.
Question 60
You have a Power BI model that contains a table named Date. The Date table contains the following columns: • Date • Fiscal Year • Fiscal Quarter • Month Name • Calendar Year • Week Number • Month Number • Calendar Quarter You need to create a calculated table based on the Date table. The calculated table must contain only unique combinations of values for Calendar Year, Calendar Quarter, and Calendar Month. Which DAX function should you include in the table definition?
Show answer and explanation
Correct answer: C. SUMMARIZE
SUMMARIZE is the function designed to create a table containing unique combinations of specified column values. It groups the Date table by Calendar Year, Calendar Quarter, and Calendar Month, returning only distinct combinations. This is exactly what the requirement asks for: a calculated table with unique value combinations.
Why the other options are wrong
- A. ADDCOLUMNS adds new columns to an existing table but doesn't create unique combinations of existing columns.
- B. CALCULATE modifies filter context for measures but cannot create a new calculated table with unique combinations.
- D. DATATABLE creates a table from literal values specified in the function, not from summarizing an existing table's data.
Question 61
You are creating a report in Power BI Desktop. You load a data extract that includes a free text field named coll. You need to analyze the frequency distribution of the string lengths in col1. The solution must not affect the size of the model. What should you do?
Show answer and explanation
Correct answer: D. From Power Query Editor, change the distribution for the Column profile to group by length for col1
Using the Column profile feature in Power Query Editor to analyze the distribution of string lengths grouped by length does not add any columns to the model. This allows you to analyze the frequency distribution of string lengths in col1 directly from the data preview without increasing the model size, making it the solution that doesn't affect model size.
Why the other options are wrong
- A. Adding a DAX calculated column increases the model size because calculated columns store values in memory.
- B. Adding a DAX function to calculate average length adds calculations to the model and may increase complexity.
- C. Adding a column in Power Query Editor that calculates length creates a new column stored in the model, increasing its size.
Question 62
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: D. Remove unused columns from tables in the data model.
A 550 MB PBIX file with 12 million rows is significantly oversized. The most impactful optimization is to remove unused columns from the data model, which reduces the model size, decreases memory consumption, improves refresh times, and speeds up visual rendering. This directly addresses the root cause of poor performance without affecting functionality.
Why the other options are wrong
- A. Enabling visual interactions does not improve load or rendering performance; it only changes how visuals interact with each other.
- B. Changing DAX measures to use iterator functions typically decreases performance rather than improving it.
- C. Implementing RLS adds processing overhead and does not address the core issue of excessive data model size.
Question 63
You use Power BI Desktop to import two tables named Customer and Contacts. The Customer table contains the following columns: • Customer_Name • Customer ID • Website The Contacts table contains the following columns: • Contact ID • Contact Email • Contact Name • Customer Name A web-based contact form is used to fill the Contacts table. The data is not sanitized. You need to create a merge for the Customer and Contacts tables. What should you do?
Show answer and explanation
Correct answer: B. Enable fuzzy matching.
Enabling fuzzy matching is the correct solution when merging tables with unsanitized data from web forms. Since the Contact Name field comes from a web form without sanitization, there may be inconsistencies, typos, or formatting variations when matching against the Customer_Name field. Fuzzy matching allows approximate string matching, which handles these inconsistencies and successfully merges records that would otherwise fail exact matching.
Why the other options are wrong
- A. Disabling fuzzy matching would make the merge more restrictive and fail to match imperfectly formatted data.
- C. Setting Join Kind to Left Outer addresses which table's rows to keep, not the matching quality issue with unsanitized data.
Question 64
You are creating a Power BI model that contains a table named Store. Store contains the following fields. You plan to create a map visual that will show store locations and provide the ability to drill down from Country to State/Province to City. What should you do to ensure that the locations are mapped properly?
Show answer and explanation
Correct answer: C. Set the data category of City, State/Province, and Country.
In Power BI, to enable proper mapping functionality for geographic hierarchies in map visuals, you must set the data category of geographic fields (City, State/Province, and Country) to their corresponding geographic categories. This tells Power BI how to interpret these text fields geographically, allowing the map visual to recognize the location data and enable drill-down functionality through the geographic hierarchy. Data categories are distinct from data types, the fields can remain as Text data type while being assigned geographic categories like City, State/Province, and Country respectively.
Why the other options are wrong
- A. Changing the data type from Text would not help; geographic fields should remain as Text data type, and the issue is about categorization, not data type conversion.
- B. Summarization settings control how fields aggregate in visuals; they do not affect geographic mapping or drill-down capability for location hierarchies.
- D. Concatenating the three fields into a single column would destroy the hierarchical drill-down capability needed for the map visual to function properly.
Question 65
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: B. Remove unused columns from tables in the data model.
With a 550 MB PBIX file and 12 million rows causing slow report performance, removing unused columns is the most effective optimization. Unused columns increase the data model size, memory footprint, and processing overhead without providing analytical value. This directly addresses the performance issue by reducing both file size and the resources required to load and interact with visuals.
Why the other options are wrong
- A. Implementing RLS adds complexity and filtering overhead, which would further slow down report performance rather than improve it.
- C. AppSource visuals often have higher resource requirements than default visuals and would likely degrade performance in this scenario.
- D. Enabling visual interactions does not reduce memory consumption or file size and would not address the underlying performance bottleneck.
Question 66
You have a PBIX file that imports data from a Microsoft Excel data source stored in a file share on a local network. You are notified that the Excel data source was moved to a new location. You need to update the PBIX file to use the new location. What are three ways to achieve the goal? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: B, D, E. From the Data source settings in Power BI Desktop, configure the file path; From Power Query Editor, use the formula bar to configure the file path for the applied step; From Advanced Editor in Power Query Editor, configure the file path in the M code.
Three methods can update the file path: (B) Data source settings in Power BI Desktop allows direct file path configuration, (D) the formula bar in Power Query Editor shows and allows editing of applied steps including file paths, and (E) Advanced Editor displays the underlying M code where the file path can be directly modified. All three provide direct access to update the source location.
Why the other options are wrong
- A. Dataset settings in Power BI service are for configuring credentials and refresh, not for updating file paths for local network sources.
- C. Current File and Data Load settings do not provide functionality to update data source file paths.
Question 67
You have a Power BI semantic model that contains the following tables. You need to define a relationship from FactSales to DimProduct. The solution must ensure the fastest DAX query performance. Which cardinality should you use?
Show answer and explanation
Correct answer: D. many-to-one
The relationship from FactSales to DimProduct should use many-to-one cardinality. Product ID repeats in FactSales, which is the many side, and is unique in DimProduct, which is the one side. This is the standard star schema pattern, and a regular relationship of this type gives the fastest filter propagation.
Why the other options are wrong
- A. One-to-many describes the same relationship when it is defined in the reverse direction, from DimProduct to FactSales.
- B. One-to-one is incorrect because Product ID values repeat in FactSales.
- C. Many-to-many is not appropriate because Product ID is unique in DimProduct, and it is slower than a regular relationship.
Question 68
You have a Power BI semantic model that contains item, price, and country data. The data is displayed in a report that uses filters. You need to calculate the average item price for a given country. The solution must support the existing filters. Which type of quick measure should you use?
Show answer and explanation
Correct answer: B. Average per category
The 'Average per category' quick measure calculates the average price grouped by a category (in this case, country). It respects existing filters on the report, so it will automatically apply any country filter that the user has selected. This directly addresses the requirement to calculate average item price for a given country while supporting existing filters.
Why the other options are wrong
- A. Total for category returns a sum, not an average, and does not match the requirement.
- C. Rolling average is used for time-series data trends, not for categorical averages by country.
- D. Weighted average per category is used when you need to weight values, which is not mentioned in the requirement.
Question 69
You publish a semantic model to the Power BI service. The semantic model contains data from the following data sources: • Source1: A Microsoft Excel file stored in Microsoft OneDrive for Business • Source2: An Azure SQL database on a virtual network • Source3: A public website Which data sources require an on-premises data gateway?
Show answer and explanation
Correct answer: B. Source2 only
An on-premises data gateway is required only for data sources that are not directly accessible from the cloud. Source1 (Excel on OneDrive) is cloud-accessible and doesn't require a gateway. Source2 (Azure SQL on a virtual network) is behind a private network and requires a gateway to access from Power BI cloud. Source3 (public website) is publicly accessible and doesn't require a gateway. Only Source2 requires the gateway.
Why the other options are wrong
- A. Excel on OneDrive is cloud-native and doesn't need a gateway.
- C. Public websites are accessible without a gateway.
- D. Excel on OneDrive doesn't require a gateway.
- E. Public websites don't require a gateway.
- F. Neither Source1 nor Source3 require a gateway.
Question 70
You have a Power BI model that contains the following data. The Date table relates to the Sales table by using the Date columns. The model contains the following DAX measure. Total Sales = SUM(Sales[Sale]) You need to create another measure named Previous Quarter to display the sales one quarter before the selected period. Which DAX calculation should you use?
Show answer and explanation
Correct answer: A. CALCULATE ( [Total Sales], DATEADD (Date[Date], -1, QUARTER ) )
To display sales from one quarter before the selected period, DATEADD is the correct function. DATEADD shifts dates by a specified interval (in this case, -1 QUARTER, meaning one quarter backward). It recalculates the Total Sales measure in the context of the prior quarter's dates. This directly achieves the 'Previous Quarter' requirement by moving the filter context back one quarter period.
Why the other options are wrong
- B. DATESQTD calculates quarter-to-date values for the current quarter, not the previous quarter.
- C. TOTALQTD calculates totals from the beginning of the quarter to the selected date, not the previous quarter's total.
- D. PARALLELPERIOD with a positive number of intervals moves the dates forward in time, so 1 with QUARTER returns the next quarter, not the previous one.
Question 71
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an on-premises data gateway. You need to reduce the amount of data sent through the gateway by semantic models that run in import storage mode. Solution: You increase Automatic page refresh intervals. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Increasing automatic page refresh intervals does not reduce the amount of data sent through the gateway. In fact, it might reduce refresh frequency, but the question asks about reducing data sent through the gateway. Since Import mode models load all data into memory, the refresh interval affects how often data is pulled, not the volume per pull. The actual data transferred remains the same regardless of refresh interval frequency.
Why the other options are wrong
- A. Refresh intervals don't reduce the volume of data sent per refresh cycle.
Question 72
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a data source that contains a column. The column contains case sensitive data. You have a Power BI semantic model in DirectQuery mode. You connect to the model and discover that it contains undefined values and errors. You need to resolve the issue. Solution: You normalize casing in the source query or Power Query Editor. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
Normalizing casing in the source query or Power Query Editor directly addresses the root cause of undefined values and errors caused by case-sensitive data inconsistencies. In DirectQuery mode, applying case normalization functions like UPPER() or LOWER() in either the source query or Power Query will ensure consistent matching and eliminate the errors arising from case-sensitive comparisons.
Why the other options are wrong
- B. Normalizing casing is a valid and effective solution for resolving case-sensitive data issues that cause undefined values and errors.
Question 73
You have a Power BI semantic model named Model1 that runs in Import storage mode. You need to reduce the size of Model1. Which two actions should you perform? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, D. Summarize the detail data; Optimize the column data types.
Summarizing detail data (A) reduces model size by aggregating information before loading, and optimizing column data types (D) reduces storage by using appropriate data types (e.g., integer instead of text). Both directly reduce model size. Upgrading to Premium increases capacity but doesn't reduce size, RLS doesn't reduce model size, and changing relationships to inactive doesn't reduce the physical data stored in the model.
Why the other options are wrong
- B. Premium capacity doesn't reduce the model size itself.
- C. RLS restricts visibility but doesn't reduce the actual data stored.
- E. Inactive relationships don't reduce the physical storage of data in the model.
Question 74
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a data source that contains a column. The column contains case sensitive data. You have a Power BI semantic model in DirectQuery mode. You connect to the model and discover that it contains undefined values and errors. You need to resolve the issue. Solution: You change the semantic model mode. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Changing the semantic model mode from DirectQuery to Import would not resolve case-sensitive data issues. The problem stems from the data itself containing case-sensitive values that are not being handled correctly, which is a data quality issue that persists regardless of whether the model uses DirectQuery or Import mode.
Why the other options are wrong
- A. This solution does not meet the goal because the mode change does not address the underlying case sensitivity problem in the data source.
Question 75
You have a Power BI semantic model that contains the following data. You need to create a solution that meets the following requirements: • Presents transaction amount totals for each month for the current and prior year • Follows the star schema modeling approach • Minimizes the data model size Which three actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, D, E. Create one-to-many relationships between the tables; In the Transactions query, group by AccountID and MonthStartDate for TransactionDate. Aggregate by summing the TransAmt column; In the Transactions query, add a column that contains the MonthStartDate value for TransactionDate.
To present monthly totals while following star schema principles and minimizing model size, first add a MonthStartDate column to Transactions (E), because Transactions has no such column and the grouping step needs it. Then group by AccountID and MonthStartDate and sum TransAmt (D), which leaves one row per account per month and greatly reduces the row count. Finally create one-to-many relationships from the Date and Account dimension tables to the Transactions fact table (A).
Why the other options are wrong
- B. The group by step keeps only the grouping columns and the summed amount, so TransactionID is already removed and a separate delete step is not needed.
- C. The Date table has no MonthNumber column, and grouping the Date query is not needed because the Transactions query is the one being summarized.
- F. Star schema uses one-to-many relationships from dimension tables to the fact table, and the keys on the dimension side are unique, so many-to-many relationships are not appropriate.
Question 76
You have a Power BI semantic model that contains two queries. You discover that a report based on the model has performance issues. You plan to use Power Query to reduce the data loaded to the model. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct answer is worth one point.
Show answer and explanation
Correct answer: A, C. Apply group by and summarize techniques; Remove unnecessary columns and rows.
To reduce data loaded to a model and improve performance, you should remove unnecessary columns and rows to decrease the dataset size (C), and apply group by and summarize techniques to aggregate data before loading (A). Merging or appending queries doesn't reduce data volume, and creating query groups is an organizational tool that doesn't improve performance. Only removing unnecessary data and summarizing reduces the data footprint.
Why the other options are wrong
- B. Append combines queries but doesn't reduce data volume.
- D. Merge combines queries but doesn't reduce data volume.
- E. Query groups are organizational and don't reduce data loaded.
Question 77
You have a CSV file that contains user complaints. The file contains a column named Logged. Logged contains the date and time each complaint occurred. The data in Logged is in the following format: 2018-12-31 at 08:59. You need to be able to analyze the complaints by the logged date and use a built-in date hierarchy. What should you do?
Show answer and explanation
Correct answer: C. Split the Logged column by using at as the delimiter.
To properly utilize Power BI's built-in date hierarchy, you must isolate the date portion from the timestamp. The Logged column contains '2018-12-31 at 08:59', so splitting by the 'at' delimiter will separate the date (2018-12-31) from the time portion. This allows you to create a proper date column that supports hierarchy functionality.
Why the other options are wrong
- A. The Parse function is not a standard Power Query transformation for this purpose; splitting is the correct approach.
- B. Changing the data type to Date alone will not work because the column contains both date and time text that must first be parsed correctly.
- D. Creating a column by example is inefficient and does not properly transform the existing data into a usable date format.
Question 78
You have a Power BI model that contains a table named Employees. The table contains the following columns: • Employee ID • First Name • Last Name • Department • Salary Each employee is uniquely identified by using Employee ID. You need to create a DAX measure that will calculate the average salary of all the employees in the sales department. Which DAX expression should you use?
Show answer and explanation
Correct answer: C. CALCULATE(AVERAGE(‘Employees’[Salary]), ‘Employees’[Department] = “Sales”)
The CALCULATE function combined with AVERAGE correctly calculates the average salary filtered to only the Sales department. CALCULATE applies the filter condition to modify the context in which AVERAGE operates, returning only the average salary for employees where Department equals 'Sales'. This is the standard pattern for creating measures with specific business logic filters.
Why the other options are wrong
- A. DISTINCTCOUNT returns a count of unique values, not an average, and doesn't include any filtering logic.
- B. Using DISTINCTCOUNT with CALCULATE counts unique salary values rather than averaging them, and doesn't produce the requested metric.
- D. AVERAGE without CALCULATE would return the average salary across all departments, ignoring the requirement to filter by Sales department only.
Question 79
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: For each date foreign key, you add inactive relationships between the sales table and the date table. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
Using only inactive relationships does not meet the goal because inactive relationships are not used by default in calculations. While you need inactive relationships to create multiple date dimension relationships in Power BI, simply adding them without additional steps (such as using USERELATIONSHIP in DAX or making one active) will not enable analysis across all three date foreign keys. You need at least one active relationship and measures that activate the inactive ones.
Why the other options are wrong
- A. Inactive relationships alone cannot support automatic analysis; they require explicit DAX measures or activation to function in calculations.
Question 80
You have a Power BI model that contains a table named Expenses. The table contains the following columns: • Date • Amount • Category • Expense ID • Employee ID Expenses are recorded by employees, and each expense has a unique expense ID. You need to create a DAX measure that will calculate the total amount of expenses. Which DAX expression should you use?
Show answer and explanation
Correct answer: A. Sum(‘Expenses’[Amount])
To calculate the total amount of expenses, you must use SUM on the Amount column, which adds all individual expense amounts together. This is the standard aggregation function for summing numeric values across all rows in a measure context.
Why the other options are wrong
- B. MAX returns only the single largest expense amount, not the total.
- C. Summing Expense ID would add identification numbers, which is meaningless; it should aggregate Amount.
- D. COUNT returns the number of expenses, not the total amount.
Question 81
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a Power BI report that imports a date table and a sales table from an Azure SQL database data source. The sales table has the following date foreign keys: • Due Date • Order Date • Delivery Date You need to support the analysis of sales over time based on all the date foreign keys. Solution: From the Fields pane, you rename the date table as Due Date. You use a DAX expression to create Order Date and Delivery Date as calculated tables. You create active relationships between the sales table and each date table. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
This solution meets the goal by creating separate date table instances for each date foreign key. By renaming the original date table as Due Date and creating calculated tables for Order Date and Delivery Date (using DAX expressions that reference the same source data), and then establishing active relationships between the sales table and each date table instance, you enable analysis across all three date dimensions. This approach allows each date key to have its own active relationship path.
Why the other options are wrong
- B. This solution is actually valid and meets the stated requirements for supporting analysis based on all date foreign keys.
Question 82
You have a Microsoft Power BI Desktop report named Report1 that uses an Azure SQL database as a data source. A user named User1 plans to create a report by using the same data source as Report1. You need to simplify the connection to the data source for User1. Which type of file should you create?
Show answer and explanation
Correct answer: A. PBIDS
A PBIDS (Power BI Data Source) file is specifically designed to store connection information to a data source without any report content or data. When User1 opens a PBIDS file, it automatically configures the connection to the same Azure SQL database, simplifying the setup process. PBIX contains full reports with data, PBIT is a template, and XLSX is a spreadsheet format, none of which provide simplified data source connection setup.
Why the other options are wrong
- B. XLSX is a spreadsheet format and does not simplify database connections.
- C. PBIT is a template file that includes report structure but still requires full configuration.
- D. PBIX contains complete reports with data and does not serve as a simplified connection tool.
Question 83
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have a data source that contains a column. The column contains case sensitive data. You have a Power BI semantic model in DirectQuery mode. You connect to the model and discover that it contains undefined values and errors. You need to resolve the issue. Solution: You add an index key and normalize casing in the data source. Does this meet the goal?
Show answer and explanation
Correct answer: A. Yes
When a case-sensitive source sits behind a DirectQuery model, Power BI's case-insensitive engine can treat values that differ only by case as duplicates, which produces blank (undefined) values and errors. Normalizing the casing in the data source removes those collisions at their origin, and adding an index key gives each row a reliable unique identifier for relationships. Together these fix the root cause, so the solution meets the goal.
Why the other options are wrong
- B. Normalizing casing at the source with a unique index key directly removes the case collisions that cause the errors, so the solution does meet the goal.
Question 84
You plan to use Power BI Desktop to create a bug tracking dashboard that will pull data from Analytics in Azure DevOps. From Power BI Desktop, you need to configure a data connector to authenticate to Azure DevOps. The solution must meet the following requirements: • Use Analytics views. • Filter data from the cloud. Which connector should you use?
Show answer and explanation
Correct answer: B. Azure DevOps (Boards only)
Analytics views can only be consumed through the Azure DevOps Power BI data connector. For Azure DevOps Services in the cloud, that connector is Azure DevOps (Boards only), which authenticates to the organization and loads the chosen Analytics view with its filters applied.
Why the other options are wrong
- A. OData queries read the Analytics service directly and do not use Analytics views.
- C. Azure DevOps Server (Boards only) is for on-premises Azure DevOps Server, not the cloud service.
- D. The OData Feed connector queries Analytics endpoints directly and does not use Analytics views.
Question 85
You have a Power BI data model that imports data from a Microsoft Excel spreadsheet. You use Power Query to load a query that contains both renamed and custom columns. Later, you attempt to reload the query and receive the following error message. Expression.Error: The column 'Category' of the table wasn't found. What are two possible causes of the error? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.
Show answer and explanation
Correct answer: A, B. The column was removed from the source file; The column was renamed in the source file.
The error indicates that a column named 'Category' cannot be found during reload. This occurs when either the column is completely removed from the source file (A) or when it has been renamed in the source file (B), breaking the reference Power Query maintains to the original column name. Both scenarios result in the same error because the expected column no longer exists with its original name in the source.
Why the other options are wrong
- C. If the file location changed, the error would indicate a connection failure or file not found, not a specific column missing error.
- D. Changing the data type of a column does not cause the column to be 'not found'; the column still exists with the same name and Power Query would still locate it.
Question 86
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: D. Split the visuals onto multiple pages.
With 25 total visuals (15 AppSource + 10 default) on a single page of a 550 MB report, splitting them across multiple pages reduces the number of visuals that need to render simultaneously. This decreases initial load time and improves interactivity by allowing users to view one page at a time, which significantly improves perceived and actual performance.
Why the other options are wrong
- A. Iterator functions in DAX typically decrease rather than increase performance and don't address the visual rendering bottleneck.
- B. RLS adds processing overhead and does not improve load times or visual rendering performance.
- C. Replacing default visuals with more AppSource visuals would likely worsen performance, as AppSource visuals often consume more resources than native visuals.
Question 87
You have a Power BI semantic model named Model1 that runs in Import storage mode. You need to reduce the size of Model1. The solution must NOT increase report query response times. What should you do?
Show answer and explanation
Correct answer: A. Remove unnecessary columns.
Removing unnecessary columns directly reduces the Import model size without affecting query response times, since fewer columns means less data stored and faster queries. Unpivoting columns increases data volume, renaming doesn't reduce size, and switching to DirectQuery would actually increase query response times since it queries the source on-demand rather than using cached data.
Why the other options are wrong
- B. Unpivoting increases data volume rather than reducing it.
- C. Renaming columns doesn't reduce model size.
- D. DirectQuery increases query response times compared to Import mode.
Question 88
You have a Power BI semantic model that connects to a streaming data source. The data source is updated frequently. You need to create a Power BI report that meets the following requirements: • Supports real-time analytics • Minimizes performance impact on the data source • Displays the most recent data without performing a data refresh Which connectivity mode should you use for the dataset?
Show answer and explanation
Correct answer: A. DirectQuery mode
DirectQuery mode meets all three requirements: it supports real-time analytics by querying the source each time, minimizes performance impact by not caching large datasets, and displays the most recent data without requiring manual refresh. Each query goes directly to the data source, ensuring current information while reducing the burden of managing large imports.
Why the other options are wrong
- B. Import mode requires scheduled refreshes and does not provide real-time updates.
- C. LiveConnect mode is primarily for Analysis Services and does not apply to generic streaming data sources.
- D. Push mode requires external processes to push data into Power BI and is not suitable for frequently updated streaming sources.
Question 89
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You are modeling data by using Microsoft Power BI. Part of the data model is a large Microsoft SQL Server table named Order that has more than 100 million records. During the development process, you need to import a sample of the data from the Order table. Solution: You add a report-level filter that filters based on the order date. Does this meet the goal?
Show answer and explanation
Correct answer: B. No
A report-level filter does not reduce the amount of data imported into Power BI; it only filters what is displayed in the report. To import a sample of data from a 100+ million record table, you must apply a filter at the source (SQL Server query) or in Power Query during the import process. A report-level filter is applied after all data is loaded into memory, so it does not achieve the goal of importing only a sample.
Why the other options are wrong
- A. A report-level filter processes data after import and does not reduce the dataset size loaded into Power BI.
Question 90
You have a Microsoft Power BI report. The size of PBIX file is 550 MB. The report is accessed by using an App workspace in shared capacity of powerbi.com. The report uses an imported dataset that contains one fact table. The fact table contains 12 million rows. The dataset is scheduled to refresh twice a day at 08:00 and 17:00. The report is a single page that contains 15 AppSource visuals and 10 default visuals. Users say that the report is slow to load the visuals when they access and interact with the report. You need to recommend a solution to improve the performance of the report. What should you recommend?
Show answer and explanation
Correct answer: B. Remove unused columns from tables in the data model.
The 550 MB PBIX file size with 12 million rows in a single fact table indicates a bloated data model. Removing unused columns reduces file size, improves load times, decreases memory consumption, and speeds up refresh operations. This directly addresses the slow report loading issue users are experiencing. The problem is not with visual types (A), query mode (C), or refresh frequency (D), but with excessive data being imported.
Why the other options are wrong
- A. Replacing default visuals with AppSource visuals would likely worsen performance, as AppSource visuals are typically more resource-intensive than native visuals.
- C. DirectQuery would not improve performance here since the dataset is already refreshed only twice daily; DirectQuery would instead require live connections and could increase query load.
- D. Increasing refresh frequency would exacerbate the problem by consuming more resources and increasing processing time without addressing the root cause of slow visual loading.
That was 90 of 399.
The full Microsoft PL-300 pack has all 399 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.
Not ready yet? Get the first 199 free as one PDF by email. Get the Half Pack →
