Microsoft PL-300 Practice Questions with Explanations
Free Microsoft PL-300 practice questions. 50 of them, each with the correct answer, a full explanation, and the reason every other option is wrong. These are real questions from the PL-300 exam, not paraphrases, and every explanation is written out rather than just marking the right letter.
They are drawn from the same bank as the full PL-300 pack, which has 399 questions in total.
Get the full PL-300 question bank (399 questions) →
PL-300 practice questions
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?
- A. Microsoft Teams Personal Analytics
- B. SQL Server database
- C. Dataverse
- D. Dataflows
Show answer and explanation ▾
Correct answer: C
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?
- A. Power BI dataset
- B. a SharePoint folder
- C. Power BI dataflows
- D. an Excel workbook
Show answer and explanation ▾
Correct answer: A
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?
- A. Merge the Customer and Address tables.
- B. Group the Customer and Address tables by the Address ID column.
- C. Transpose the Customer and Address tables.
- D. Append the Customer and Address tables.
Show answer and explanation ▾
Correct answer: A
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?
- A. From Power Query, merge the Order Line Items query and the Products query.
- B. Create a calculated column that adds a list of product categories to the Orders table by using a DAX function.
- C. Calculate the count of orders per product by using a DAX function.
- D. From Power Query, merge the Orders query and the Order Line Items query.
Show answer and explanation ▾
Correct answer: D
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. Creating a calculated column with DAX functions to add product categories forces calculations to occur during report interactions rather than at refresh time, increasing visual update latency.
- 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?
- 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.
- B. Get data from a SharePoint list and enter the site URL. Select Combine & Transform, then filter by the folder path to the manufacturing reports library.
- C. Get data from a SharePoint folder, enter the site URL, and then select Combine & Load.
- D. Get data from a SharePoint list, enter the site URL, and then select Combine & Load.
Show answer and explanation ▾
Correct answer: A
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?
- A. Apply a transformation to extract the last 11 characters of the Logged column and set the data type of the new column to Date.
- B. Change the data type of the Logged column to Date.
- C. Split the Logged column by using at as the delimiter.
- D. Apply a transformation to extract the first 11 characters of the Logged column.
Show answer and explanation ▾
Correct answer: C
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 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?
- A. Add a SQL statement.
- B. Set the Command timeout in minutes setting.
- C. Set Data Connectivity mode to Import.
- D. Set Data Connectivity mode to DirectQuery.
Show answer and explanation ▾
Correct answer: D
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 8
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?
- A. Create a dataflows connection that has DirectQuery mode selected.
- B. Create a dataflows connection that has DirectQuery mode selected and configure a gateway connection for the dataset.
- C. Create a dataflows connection that has Import mode selected and schedule a daily refresh.
- D. Create a dataflows connection that has Import mode selected and create a Microsoft Power Automate solution to refresh the data hourly.
Show answer and explanation ▾
Correct answer: C
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 9
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?
- A. Microsoft SQL Server database
- B. ODBC
- C. OLE DB
- D. OData
Show answer and explanation ▾
Correct answer: B
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.
Question 10
You have data in a Microsoft Excel worksheet as shown in the following table. You need to use Power Query to clean and transform the dataset. The solution must meet the following requirements: • If the discount column returns an error, a discount of 0.05 must be used. • All the rows of data must be maintained. • Administrative effort must be minimized. What should you do in Power Query Editor?
- A. Select Replace Errors.
- B. Edit the query in the Query Errors group.
- C. Select Remove Errors.
- D. Select Keep Errors.
Show answer and explanation ▾
Correct answer: A
The requirement states that if the discount column returns an error, a discount of 0.05 must be used, and all rows of data must be maintained. In Power Query Editor, the 'Replace Errors' option allows you to replace error values with a specified value (0.05 in this case) while keeping all rows intact. This directly addresses both the error handling requirement and the need to maintain all data rows with minimal administrative effort. The Replace Errors feature in the Transform tab provides a built-in, efficient solution for this exact scenario.
Why the other options are wrong:
- B. Editing the query in the Query Errors group would require manual intervention and does not provide a straightforward way to replace all errors with a specific value automatically.
- C. Remove Errors would delete the rows with errors, violating the requirement to maintain all rows of data.
- D. Keep Errors would leave the error values in place without resolving them, failing to meet the requirement to use 0.05 as the discount value for errors.
Question 11
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?
- A. Apply the Parse function from the Data transformations options to the Logged column.
- B. Change the data type of the Logged column to Date.
- C. Split the Logged column by using at as the delimiter.
- D. Create a column by example that starts with 2018-12-31.
Show answer and explanation ▾
Correct answer: C
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 12
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?
- A. Merge queries
- B. Combine files
- C. Append queries
Show answer and explanation ▾
Correct answer: A
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 13
CASE STUDY This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided. To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study. At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section. To start the case study - To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question. General Overview Northwind Traders is a specialty food import company. The company recently implemented Power BI to better understand its top customers, products, and suppliers. Business Issues The sales department relies on the IT department to generate reports in Microsoft SQL Server Reporting Services (SSRS). The IT department takes too long to generate the reports and often misunderstands the report requirements. Existing Environment. Data Sources Northwind Traders uses the data sources shown in the following table. Source2 is exported daily from a third-party system and stored in Microsoft SharePoint Online. Existing Environment. Customer Worksheet Source2 contains a single worksheet named Customer Details. The first 11 rows of the worksheet are shown in the following table. All the fields in Source2 are mandatory. The Address column in Customer Details is the billing address, which can differ from the shipping address. Existing Environment. Azure SQL Database Source1 contains the following tables: • Orders • Products • Suppliers • Categories • Order Details • Sales Employees The Orders table contains the following columns. The Order Details table contains the following columns. The address in the Orders table is the shipping address, which can differ from the billing address. The Products table contains the following columns. The Categories table contains the following columns. The Suppliers table contains the following columns. The Sales Employees table contains the following columns. Each employee in the Sales Employees table is assigned to one sales region. Multiple employees can be assigned to each region. Requirements. Report Requirements Northwind Traders requires the following reports: • Top Products • Top Customers • On-Time Shipping The Top Customers report will show the top 20 customers based on the highest sales amounts in a selected order month or quarter, product category, and sales region. The Top Products report will show the top 20 products based on the highest sales amounts sold in a selected order month or quarter, sales region, and product category. The report must also show which suppliers provide the top products. The On-Time Shipping report will show the following metrics for a selected shipping month or quarter: • The percentage of orders that were shipped late by country and shipping region • Customers that had multiple late shipments during the last quarter Northwind Traders defines late orders as those shipped after the required shipping date. The warehouse shipping department must be notified if the percentage of late orders within the current month exceeds 5%. The reports must show historical data for the current calendar year and the last three calendar years. Requirements. Technical Requirements Northwind Traders identifies the following technical requirements: • A single dataset must support all three reports. • The reports must be stored in a single Power BI workspace. • Report data must be current as of 7 AM Pacific Time each day. • The reports must provide fast response times when users interact with a visualization. • The data model must minimize the size of the dataset as much as possible, while meeting the report requirements and the technical requirements. Requirements. Security Requirements Access to the reports must be granted to Azure Active Directory (Azure AD) security groups only. An Azure AD security group exists for each department. The sales department must be able to perform the following tasks in Power BI: • Create, edit, and delete content in the reports. • Manage permissions for workspaces, datasets, and reports. • Publish, unpublish, update, and change the permissions for an app. • Assign Azure AD groups role-based access to the reports workspace. Users in the sales department must be able to access only the data of the sales region to which they are assigned in the Sales Employees table. Power BI has the following row-level security (RLS) Table filter DAX expression for the Sales Employees table. [EmailAddress] = USERNAME() RLS will be applied only to the sales department users. Users in all other departments must be able to view all the data. You need to create the semantic model. Which storage mode should you use for the tables in the semantic model?
- A. DirectQuery
- B. Dual
- C. Import
- D. live connection
Show answer and explanation ▾
Correct answer: B
Dual mode is the optimal choice because it combines the strengths needed for this scenario: Import mode provides fast query performance for interactive visualizations (required by technical requirements), while DirectQuery capability allows real-time data refresh to meet the 7 AM Pacific Time daily currency requirement. The data sources include both an Azure SQL Database (Source1) and a SharePoint Excel file (Source2), both of which support dual mode. Dual mode enables Power BI to use Import for local caching and fast response times while maintaining the ability to query source systems when needed, thus meeting the requirement for current data as of 7 AM daily without sacrificing the fast response times required for user interactions.
Why the other options are wrong:
- A. DirectQuery alone would provide current data but would result in slow query performance during user interactions with visualizations, violating the fast response time requirement.
- C. Import mode alone would provide fast response times but cannot guarantee data currency as of 7 AM Pacific Time each day without manual refresh scheduling, and the daily export timing from Source2 may not align precisely with the requirement.
- D. Live connection is not appropriate for this multi-source scenario and does not support the combination of real-time data with optimized interactive performance needed across three separate reports.
Question 14
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?
- A. OData queries
- B. Azure DevOps (Boards only)
- C. Azure DevOps Server (Boards only)
- D. OData Feed
Show answer and explanation ▾
Correct answer: A
OData queries is the correct connector for Azure DevOps Analytics. Azure DevOps exposes analytics data through OData endpoints, which allows filtering data at the cloud level and working with analytics views. This is the standard and supported method for connecting Power BI to Azure DevOps Analytics.
Why the other options are wrong:
- B. Azure DevOps (Boards only) connector does not support Analytics views and is limited to board data.
- C. Azure DevOps Server is for on-premises deployments, not cloud-based Azure DevOps.
- D. OData Feed is a generic option but the specific 'OData queries' connector is the proper choice for Azure DevOps Analytics.
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 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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 16
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 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 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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: A
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 18
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
While normalizing casing helps, adding an index key does not address the core issue of case-sensitive data causing undefined values and errors. In DirectQuery mode, the index key addition alone without proper casing normalization won't resolve the errors. The solution is incomplete because it relies on fixing the data source structure rather than addressing the case sensitivity problem itself, and index keys do not inherently resolve case matching issues.
Why the other options are wrong:
- A. Adding an index key does not resolve case-sensitive data issues; only normalizing casing addresses the root problem.
Question 19
You use Power Query Editor to preview a column named Date as shown in the following exhibit. You need to change the Date column to contain only the year. The solution must minimize administrative effort. What should you do?
- A. Split the column by delimiter.
- B. Split the column by number of characters.
- C. Extract the text after the delimiter.
- D. Transform the column to contain only the year.
Show answer and explanation ▾
Correct answer: D
In Power Query Editor, the Transform menu includes specific date/time transformation options that can directly extract the year component from a date column. The 'Transform' option with date-specific functions is the most efficient and administratively minimal approach, as it applies a built-in transformation without requiring manual parsing logic. Since the dates are already recognized as valid date values (100% Valid), Power Query can directly extract the year component using its transform functions rather than relying on text-based operations like splitting or extracting by delimiters.
Why the other options are wrong:
- A. Split by delimiter would split the date string into parts (01, 01, 2014) but requires additional steps to isolate and reconstruct just the year, adding unnecessary complexity.
- B. Split by number of characters would create multiple columns from the date string, requiring extra steps to extract only the year portion and remove unwanted columns.
- C. Extract text after delimiter would require identifying the correct delimiter and performing text extraction operations, which is less direct than using a built-in date transformation function.
Question 20
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?
- A. Disable fuzzy matching.
- B. Enable fuzzy matching.
- C. Set Join Kind to Left Outer.
Show answer and explanation ▾
Correct answer: B
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 21
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?
- A. PBIDS
- B. XLSX
- C. PBIT
- D. PBIX
Show answer and explanation ▾
Correct answer: A
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 22
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?
- A. DirectQuery
- B. live connection
- C. import
Show answer and explanation ▾
Correct answer: A
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 23
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?
- A. Change the data source.
- B. Clear the permissions of File1.
- C. Export a PBIDS file.
- D. Modify the permissions for File1.
Show answer and explanation ▾
Correct answer: A
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 24
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?
- A. Merge the Sales person and invoice tables based on the SalesPersonId column.
- B. Change the invoice table to a DirectQuery table and read the data live from the source, retaining only the dimension tables as import tables.
- C. Reduce the size of the invoice table by summarizing sales by Product, Sales person, Calendar, and Customer.
- D. Change the invoice table to a composite table that contains historical data as a DirectQuery table and hot data as an import table, and then partition the table.
Show answer and explanation ▾
Correct answer: B
The Invoice table contains 12 million rows and is causing memory allocation errors during refresh. The most effective solution is to convert the Invoice table to DirectQuery mode, which reads data live from the source rather than loading it into memory. This eliminates the memory pressure while keeping dimension tables (Product, Sales Person, Calendar, Customer) as Import tables for optimal query performance. DirectQuery on the large fact table combined with imported dimensions provides the best balance between memory usage and query response times, as dimension tables are small enough to cache while the large Invoice table is queried directly from the source.
Why the other options are wrong:
- A. Merging Sales Person and Invoice tables would increase the Invoice table size further, exacerbating the memory problem rather than solving it.
- C. Summarizing the Invoice table would lose transactional detail and wouldn't scale well if business requirements change; it's a temporary workaround, not a proper solution.
- D. While composite tables with partitioning can be useful, they still require loading hot data into memory and add unnecessary complexity; DirectQuery alone is more straightforward and better addresses the memory constraint.
Question 25
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?
- A. Set Join Kind to Full Outer.
- B. Disable fuzzy matching.
- C. Set Join Kind to Left Outer.
- D. Enable fuzzy matching.
Show answer and explanation ▾
Correct answer: D
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 26
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?
- A. From Power BI Desktop, modify the Oracle data source to use a parameter, and then republish the model to the Power BI service.
- B. From the Power BI service, modify the parameters of the SQL Server data source.
- C. From the Power BI service, create a new semantic model that uses the existing model as a data source, and then parameterize the new model.
- D. From the Power BI service, set a parameter value for the model.
Show answer and explanation ▾
Correct answer: A
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 27
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?
- A. Change the data type of the Logged column to Date.
- B. Split the Logged column by using at as the delimiter.
- C. Add a conditional column that outputs 2018 if the Logged column starts with 2018 and set the data type of the new column to Whole Number.
- D. Apply the Parse function from the Date transformations options to the Logged column.
Show answer and explanation ▾
Correct answer: B
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 28
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?
- A. Enable visual interactions.
- B. Change any DAX measures to use iterator functions.
- C. Implement row-level security (RLS).
- D. Remove unused columns from tables in the data model.
Show answer and explanation ▾
Correct answer: D
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 29
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?
- A. Create a column by example that starts with 2018-12-31 and set the data type of the new column to Date
- B. Create a column by example that starts with 2018-12-31
- C. Apply a transformation to extract the last 11 characters of the Logged column
- D. Add a conditional column that outputs 2018 if the Logged column starts with 2018 and set the data type of the new column to Whole Number
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 30
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?
- A. Change any DAX measures to use iterator functions.
- B. Implement row-level security (RLS).
- C. Replace the default visuals with AppSource visuals.
- D. Split the visuals onto multiple pages.
Show answer and explanation ▾
Correct answer: D
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 31
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?
- A. In the report, add a DAX calculated column that calculates the length of col1
- B. In the report, add a DAX function that calculates the average length of col1
- C. From Power Query Editor, add a column that calculates the length of col1
- D. From Power Query Editor, change the distribution for the Column profile to group by length for col1
Show answer and explanation ▾
Correct answer: D
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 32
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?
- A. Publish the reports in an app and grant the HR managers access permission.
- B. Create a new workspace, copy the datasets and reports, and add the HR managers as members of the workspace.
- C. Publish the reports to a different workspace other than the one hosting the datasets.
- D. Add the HR managers as members of the existing workspace that hosts the reports and the datasets.
Show answer and explanation ▾
Correct answer: A
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 33
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?
- A. Viewer
- B. Admin
- C. Contributor
- D. Member
Show answer and explanation ▾
Correct answer: D
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 34
You build a report to analyze customer transactions from a database that contains the tables shown in the following table. You import the tables. Which relationship should you use to link the tables?
- A. one-to-many from Transaction to Customer
- B. one-to-one between Customer and Transaction
- C. many-to-many between Customer and Transaction
- D. one-to-many from Customer to Transaction
Show answer and explanation ▾
Correct answer: D
The correct relationship is one-to-many from Customer to Transaction because each customer can have multiple transactions, but each transaction belongs to only one customer. The Transaction table contains CustomerID as a foreign key, which establishes this directional relationship: one customer relates to many transactions. This is the fundamental cardinality of the relationship based on the table structure shown.
Why the other options are wrong:
- A. A one-to-many relationship from Transaction to Customer would mean each transaction has many customers, which is logically incorrect for this business model.
- B. A one-to-one relationship would imply each customer has exactly one transaction and each transaction belongs to exactly one unique customer, which contradicts real- world transaction data where customers make multiple purchases.
- C. A many-to-many relationship would require a junction table to properly represent the association and would suggest customers and transactions can relate to multiple instances of each other indiscriminately, which is unnecessary and incorrect for this schema.
Question 35
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?
- A. From Model view, set the Subject and Body columns to Hidden.
- B. Remove the Subject and Body columns during the import.
- C. Implement row-level security (RLS) so that the report recipients can only see results based on the emails they sent.
Show answer and explanation ▾
Correct answer: B
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 36
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?
- A. Change any DAX measures to use iterator functions.
- B. Enable visual interactions.
- C. Replace the default visuals with AppSource visuals.
- D. Split the visuals onto multiple pages.
Show answer and explanation ▾
Correct answer: D
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 37
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?
- A. The user will see data for which the State Province value is Kentucky or where the Calendar Year is 2020.
- B. The user will receive an error and will not be able to see the data in the report.
- C. The user will only see data for which the State Province value is Kentucky.
- D. The user will only see data for which the State Province value is Kentucky and the Calendar Year is 2020.
Show answer and explanation ▾
Correct answer: A
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 38
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 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 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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 40
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: A
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 41
You have the Power BI model shown in the following exhibit. There are four departments in the Departments table. You need to ensure that users can see the data of their respective department only. What should you do?
- A. Create a slicer that filters Departments based on DepartmentID.
- B. Create a row-level security (RLS) role for each department, and then define the membership of the role.
- C. Create a DepartmentID parameter to filter the Departments table.
- D. To the ConfidentialData table, add a calculated measure that uses the CURRENTGROUP DAX function.
Show answer and explanation ▾
Correct answer: B
Row-level security (RLS) is the appropriate mechanism for restricting data access based on user identity in Power BI. By creating an RLS role for each department and defining the membership (assigning users to their respective departments), each user will automatically see only the data filtered to their department. This ensures secure, identity- based filtering at the model level rather than relying on user-manipulable slicers or parameters.
Why the other options are wrong:
- A. A slicer allows users to manually filter data and can be circumvented; it doesn't enforce security at the model level.
- C. Parameters are design-time constructs and don't provide user-specific filtering based on identity.
- D. CURRENTGROUP is used for dynamic row-level security expressions but must be part of an RLS role definition; it alone doesn't implement department-level access control.
Question 42
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?
- A. Create an inactive relationship between the tables and select Apply security filter in both directions.
- B. Create an active relationship between the tables and select Apply security filter in both directions.
- C. Create an inactive relationship between the tables and select Assume referential integrity.
- D. Create an active relationship between the tables and select Assume referential integrity.
Show answer and explanation ▾
Correct answer: B
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 43
You import a Power BI dataset that contains the following tables: • Date • Product • Product Inventory The Product Inventory table contains 25 million rows. A sample of the data is shown in the following table. The Product Inventory table relates to the Date table by using the DateKey column. The Product Inventory table relates to the Product table by using the ProductKey column. You need to reduce the size of the data model without losing information. What should you do?
- A. Change Summarization for DateKey to Don't Summarize.
- B. Remove the relationship between Date and Product Inventory
- C. Change the data type of UnitCost to Integer.
- D. Remove MovementDate.
Show answer and explanation ▾
Correct answer: D
The MovementDate column is redundant because the Product Inventory table already relates to the Date table via the DateKey column, which represents the same temporal information. Removing MovementDate eliminates duplicate date information without losing any analytical capability, as all time-based analysis can be performed through the DateKey relationship. With 25 million rows, removing this column provides meaningful storage reduction while preserving all necessary data relationships and information.
Why the other options are wrong:
- A. Changing Summarization for DateKey to Don't Summarize is a visualization setting that doesn't reduce the actual data model size on disk.
- B. Removing the relationship between Date and Product Inventory would break the data model's integrity and prevent proper time-based analysis, causing information loss.
- C. Changing UnitCost from decimal to Integer would result in loss of precision (losing cent values) and only saves minimal space compared to removing an entire column of 25 million rows.
Question 44
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 45
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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 46
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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: A
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 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: 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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: A
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 48
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?
- A. Change the data type of City, State/Province, and Country.
- B. Set Summarization for City, State/Province, and Country to Don't summarize.
- C. Set the data category of City, State/Province, and Country.
- D. Create a calculated column that concatenates the values in City, State/Province, and Country.
Show answer and explanation ▾
Correct answer: C
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 49
You are building a data model for a Power BI report. You have data formatted as shown in the following table. You need to create a clustered bar chart as shown in the following exhibit. What should you do?
- A. From Power Query Editor, split the Machine-User column by using a delimiter.
- B. From Power Query Editor, create a column that contains the last three digits of the Machine-User column.
- C. In a DAX function, create two calculated columns named Machine and User by using the SUBSTITUTE function.
- D. In a DAX function, create two measures named Machine and User by using the SUBSTITUTE function.
Show answer and explanation ▾
Correct answer: A
The clustered bar chart requires separate Machine and User dimensions to display side- by-side bars for ABC and BAC. The source data has these values combined in a single 'Machine-User' column (ABC-123 and BAC-657). Using Power Query Editor's split column feature with the hyphen delimiter will separate this into two distinct columns: one containing the machine identifier (ABC, BAC) and one containing the user identifier (123, 657). This transformation enables the visualization engine to treat Machine and User as separate categorical and value axes required for the clustered bar chart.
Why the other options are wrong:
- B. Extracting only the last three digits would create a User column but still leave Machine and User combined; this doesn't properly structure the data for the chart's two dimensions.
- C. Creating calculated columns in DAX is unnecessary when Power Query can directly split the data at the source, and SUBSTITUTE function would require complex logic to extract both components cleanly.
- D. Measures aggregate values and are inappropriate for categorical dimensions like Machine and User; this chart requires dimensional columns, not aggregated measures.
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 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?
- A. Yes
- B. No
Show answer and explanation ▾
Correct answer: B
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.
Get the complete PL-300 bank
These 50 questions are roughly 23% of the bank. The full pack has 399 real PL-300 questions, each with the same depth of explanation, plus a questions-only PDF for timed practice and free updates forever.
View the full Microsoft PL-300 question bank →