CCNA Prepare the data Questions

75 of 264 questions · Page 2/4 · Prepare the data · Answers revealed

76
Multi-Selectmedium

Which TWO options are valid methods to combine multiple tables in Power Query?

Select 2 answers
A.Join
B.Concatenate
C.Merge
D.Union
E.Append
AnswersC, E

Merge combines tables horizontally based on a key.

Why this answer

Option C (Merge) is correct because Merge in Power Query performs a join-like operation that combines columns from two tables based on a matching key, similar to SQL JOINs. Option E (Append) is correct because Append stacks rows from multiple tables with the same columns, akin to SQL UNION ALL. Both are native Power Query operations for combining tables.

Exam trap

The trap here is that candidates confuse SQL terminology (Join, Union) with Power Query's specific functions (Merge, Append), leading them to select the generic terms instead of the correct Power Query operations.

77
MCQhard

You are designing a Power BI data model for sales analysis. The source data includes a table with columns: OrderID, CustomerID, ProductID, OrderDate, Quantity, and UnitPrice. You need to support time intelligence calculations (e.g., year-to-date sales) and avoid creating a separate date table. What should you do?

A.Use the CALENDAR function in a calculated table to create a date table and mark it as a date table.
B.Enable the auto date/time option in Power BI Desktop settings.
C.Use the OrderDate column directly in time intelligence measures.
D.Create a calculated column for fiscal year using the OrderDate column.
AnswerA

A proper date table marked as a date table is required for time intelligence functions like TOTALYTD.

Why this answer

Option A is correct because time intelligence functions in Power BI (e.g., TOTALYTD, SAMEPERIODLASTYEAR) require a contiguous, continuous date table marked as a date table. Using the CALENDAR function creates a calculated date table that meets this requirement, enabling accurate year-to-date and other time-based calculations without relying on the auto date/time feature or direct column usage.

Exam trap

The trap here is that candidates often think the auto date/time option is sufficient for time intelligence, but it only creates hidden tables that cannot be marked as a date table, causing time intelligence functions to fail or return incorrect results.

How to eliminate wrong answers

Option B is wrong because enabling the auto date/time option creates hidden date tables that are not user-visible and cannot be marked as a date table, which prevents proper use of time intelligence functions like TOTALYTD. Option C is wrong because using the OrderDate column directly in time intelligence measures will fail or produce incorrect results, as these functions require a separate, continuous date table with no gaps. Option D is wrong because creating a calculated column for fiscal year does not provide the continuous date table needed for time intelligence; it only adds a column without enabling functions like TOTALYTD.

78
MCQhard

You are a data analyst for a healthcare organization. You have a Power BI dataset that imports patient data from an on-premises SQL Server database. The database contains personally identifiable information (PII). You need to ensure that all PII columns are obfuscated when the data is loaded into Power BI. You have already masked the columns in the source database using dynamic data masking. However, when you refresh the dataset in Power BI, the masked values are not appearing. What should you do?

A.In Power BI Desktop, define row-level security roles to restrict PII columns.
B.Apply data masking in Power Query using Text.Start or Text.End functions.
C.Install the on-premises data gateway and configure it to use the service account.
D.In the data source settings, use a SQL Server account that has been granted the UNMASK permission to see masked data, but actually you need an account WITHOUT UNMASK to see masked data. Actually, correct: Configure the data source connection to use a user without the UNMASK permission so that dynamic data masking applies.
AnswerD

Correct. The account used by Power BI must not have UNMASK to see masked data.

Why this answer

Option D is correct because dynamic data masking (DDM) in SQL Server works by returning masked values to users who lack the UNMASK permission. When Power BI connects to the database using a SQL Server account without UNMASK, DDM automatically obfuscates the PII columns in the query results, so the masked data is loaded into Power BI. The current issue is that the connection account likely has UNMASK permission, which reveals the original unmasked data instead of the masked values.

Exam trap

The trap here is that candidates often assume dynamic data masking is automatically applied to all connections, but in reality it only applies when the connecting user does not have the UNMASK permission, so the correct fix is to use a user without UNMASK rather than one with it.

How to eliminate wrong answers

Option A is wrong because row-level security (RLS) in Power BI restricts which rows a user can see, not which columns are obfuscated; it cannot mask or hide specific column values. Option B is wrong because applying data masking in Power Query using Text.Start or Text.End functions would require manual transformation logic and would not leverage the existing SQL Server dynamic data masking, which is the intended and more secure approach. Option C is wrong because installing the on-premises data gateway is necessary for connecting to an on-premises SQL Server, but it does not affect whether dynamic data masking applies; the masking behavior depends solely on the database user's permissions, not the gateway configuration.

79
Multi-Selectmedium

You are reviewing a Power Query query that combines data from multiple CSV files in a folder. The query uses the 'Combine Files' function. Which TWO actions can you take to improve the performance of this query?

Select 2 answers
A.Load all data to the data model without filtering.
B.Disable the 'Promote Headers' step if the headers are not needed.
C.Increase the scheduled refresh frequency.
D.Filter the folder to include only relevant files before combining.
E.Enable 'Fast Combine' in the Power Query options.
AnswersB, D

Avoids unnecessary processing.

Why this answer

Option B is correct because disabling the 'Promote Headers' step reduces the number of transformations applied to each file during the combine operation. When headers are not needed, skipping this step avoids an extra row promotion and type detection pass, which can significantly reduce query execution time, especially when combining many files.

Exam trap

Microsoft often tests the misconception that increasing refresh frequency or enabling privacy-level settings like 'Fast Combine' improves query performance, when in fact they address different concerns (scheduling and data privacy, respectively).

80
MCQmedium

Refer to the exhibit. You are configuring a data source in Power BI Service using a JSON policy. The data source fails to refresh. What is the most likely issue?

A.The service principal does not have permission to the Azure SQL Database.
B.The version value should be "2.0".
C.The JSON is missing the 'dataSource' type.
D.The connection string is missing the database name.
AnswerA

Service principal must be granted access to the database.

Why this answer

Option A is correct because when using a JSON policy with a service principal in Power BI, the service principal must have the necessary permissions (e.g., db_datareader role) on the Azure SQL Database. Without these permissions, the data source will fail to refresh, as Power BI cannot authenticate or access the data. The JSON policy itself may be syntactically valid, but the underlying authentication fails due to insufficient database-level permissions.

Exam trap

The trap here is that candidates assume a syntactically correct JSON policy guarantees a successful connection, but Power BI's data source refresh depends on runtime authentication permissions, not just policy structure.

How to eliminate wrong answers

Option B is wrong because the 'version' value in a JSON policy for Power BI data sources is typically '1.0', not '2.0'; '2.0' is used for other policy types like data masking, not for connection policies. Option C is wrong because the JSON policy does not require a 'dataSource' type; the data source type is defined in the connection string or the gateway configuration, not as a separate JSON field. Option D is wrong because the connection string in the JSON policy already includes the database name (e.g., 'Initial Catalog=AdventureWorks'), so a missing database name is not the issue; the failure is due to authentication permissions, not connection string syntax.

81
MCQmedium

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

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

Query Folding pushes the filter to the database.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

82
MCQhard

You are preparing data from a CSV file that has inconsistent date formats. Some rows use 'MM/dd/yyyy' and others use 'dd/MM/yyyy'. You need to parse all dates correctly. What is the best approach in Power Query?

A.Use the 'Replace Values' to standardize the date format, then change data type.
B.Use the 'Parse' -> 'Date' transformation with a specific culture.
C.Use the 'Split Column' by delimiter to separate date parts.
D.Use the 'Detect Data Type' feature to automatically identify the format.
AnswerA

This approach can standardize formats before type conversion.

Why this answer

Option A is correct because 'Replace Values' allows you to standardize the inconsistent date strings (e.g., swapping day and month parts) before Power Query attempts to parse them as dates. After replacing the delimiters or reordering parts, you can change the column type to 'Date' using a consistent culture (e.g., 'en-US' for MM/dd/yyyy), ensuring all rows parse correctly regardless of original format.

Exam trap

The trap here is that candidates assume 'Parse' with a culture or 'Detect Data Type' can handle mixed formats, but Power Query requires explicit standardization before parsing when formats are inconsistent within a single column.

How to eliminate wrong answers

Option B is wrong because the 'Parse' -> 'Date' transformation with a specific culture assumes all dates in the column follow that single culture's format; it cannot handle mixed formats like MM/dd/yyyy and dd/MM/yyyy in the same column. Option C is wrong because 'Split Column' by delimiter separates date parts into individual columns (e.g., day, month, year), but it does not resolve which part is day vs. month when the order is inconsistent, requiring additional logic to recombine correctly. Option D is wrong because 'Detect Data Type' only identifies the overall data type (e.g., text or date) and cannot distinguish between multiple date formats within the same column; it would likely fail or produce errors for rows not matching the dominant format.

83
MCQmedium

You have a Power BI semantic model that imports data from a SQL Server view. The view is updated every hour, but the Power BI dataset is scheduled to refresh daily at 2:00 AM. Users report that reports show stale data. You need to ensure that the dataset reflects the latest data without changing the refresh schedule. What should you do?

A.Replace the view with a physical table in SQL Server.
B.Increase the scheduled refresh frequency to every 30 minutes.
C.Configure incremental refresh for the table.
D.Change the storage mode of the table to DirectQuery.
AnswerD

DirectQuery queries the source directly, providing up-to-date data on each report interaction.

Why this answer

Option D is correct because changing the storage mode to DirectQuery allows the Power BI dataset to query the SQL Server view directly at report render time, ensuring that users always see the latest data without altering the scheduled refresh frequency. DirectQuery bypasses the import process and retrieves data on demand, so the dataset reflects real-time changes from the source view.

Exam trap

The trap here is that candidates often assume incremental refresh (Option C) solves freshness issues, but it only optimizes data loading for large tables, not the refresh schedule, and still requires a scheduled refresh to update the dataset.

How to eliminate wrong answers

Option A is wrong because replacing the view with a physical table does not address the stale data issue; the dataset would still import data on the daily schedule, and the physical table would need its own refresh mechanism. Option B is wrong because increasing the scheduled refresh frequency to every 30 minutes changes the refresh schedule, which the question explicitly prohibits. Option C is wrong because incremental refresh still relies on the import storage mode and scheduled refresh; it only partitions data loading, not the refresh frequency, so the dataset would still only update at 2:00 AM daily.

84
Multi-Selectmedium

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

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

The stored credentials might be expired or incorrect; updating them in the service can resolve the issue.

Why this answer

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

Exam trap

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

85
MCQhard

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

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

The function only removes spaces and cleans non-printable characters. Commas and '$' remain, causing Number.From to fail.

Why this answer

Option D is correct because the function shown (likely a custom M function or Power Query transformation) does not strip commas and currency symbols before attempting conversion. When the input '$ 1,234.56' is passed directly to a number conversion like Number.From or Number.FromText, the presence of the dollar sign, spaces, and comma causes the conversion to fail, returning null. The try...otherwise block only catches errors but does not clean the text, so the conversion still fails silently.

Exam trap

The trap here is that candidates assume the try...otherwise block will handle all conversion issues, but they overlook that the conversion itself must first succeed on a clean string—the error handling only catches failures, it does not fix malformed input.

How to eliminate wrong answers

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

86
MCQmedium

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

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

Marking a table as a date table enables time intelligence functions.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

87
MCQeasy

You have a Power BI dataset that uses DirectQuery to a Snowflake data warehouse. Users report that reports are slow. You need to improve query performance without changing the data source. What should you configure?

A.Enable Query Folding in Power Query
B.Change the dataset to Import mode
C.Increase the number of concurrent queries in Power BI Service
D.Create aggregations in the Power BI model
AnswerD

Aggregations can pre-cache summaries, reducing query volume to source.

Why this answer

Option D is correct because creating aggregations in the Power BI model allows pre-summarized data to be stored in memory, reducing the volume of queries sent to Snowflake via DirectQuery. This improves performance without altering the data source, as aggregations can serve high-level queries from cached data while falling back to DirectQuery for detailed queries.

Exam trap

The trap here is that candidates often confuse Query Folding (which is about transformation pushdown) with performance optimization for DirectQuery, or mistakenly think increasing concurrency or switching to Import mode are viable solutions when the constraint explicitly forbids changing the data source.

How to eliminate wrong answers

Option A is wrong because Query Folding is a Power Query optimization that pushes transformations back to the source, but it is already inherently enabled in DirectQuery mode (all transformations are folded to Snowflake); enabling it further does not improve performance. Option B is wrong because changing the dataset to Import mode would require modifying the data source (by storing data in Power BI), which violates the constraint of not changing the data source. Option C is wrong because increasing concurrent queries in Power BI Service does not improve individual query performance; it only allows more simultaneous users, potentially worsening contention and latency.

88
MCQeasy

You are importing data from a CSV file into Power BI. The file contains a column 'Price' with values like '$1,234.56'. When you preview the data, the column is recognized as text. You need to convert it to a decimal number. What should you do in Power Query Editor?

A.Replace values: remove '$' and ',' then change type to Decimal Number.
B.Split the column by delimiter and keep the numeric part.
C.Change the data type to Decimal Number directly.
D.Remove commas using Replace Values, then change type.
AnswerA

This cleans the text before conversion.

Why this answer

Option A is correct because Power Query Editor cannot automatically parse currency-formatted text like '$1,234.56' into a decimal number due to the non-numeric characters. By first using Replace Values to remove the '$' and ',' symbols, you strip the text down to '1234.56', which Power Query can then successfully convert to a Decimal Number type using the Change Type step.

Exam trap

The trap here is that candidates assume Power Query's automatic type detection or a single Replace Values step (e.g., removing only commas) is sufficient, overlooking that both the currency symbol and thousands separator must be removed before the type change can succeed.

How to eliminate wrong answers

Option B is wrong because splitting the column by delimiter would separate the value into multiple columns (e.g., '$1' and '234.56'), losing the original numeric integrity and requiring additional merging steps, which is inefficient and error-prone. Option C is wrong because changing the data type directly to Decimal Number will cause an error or return null for rows containing non-numeric characters like '$' and ','; Power Query's type conversion expects a clean numeric string. Option D is wrong because removing only commas leaves the '$' symbol intact, which still prevents Power Query from interpreting the value as a number, resulting in a conversion error.

89
MCQmedium

You are preparing a Power BI dataset from a SQL Server data source. The source table has a datetime column 'OrderDate' that you need to use for time intelligence calculations. However, you notice that the data contains dates in multiple formats (e.g., '2024-01-15 14:30:00' and '01/15/2024 2:30 PM'). What is the best practice to ensure consistent date handling in Power Query?

A.Load the column as text and ignore any conversion errors.
B.Use the 'Detect Data Type' function in Power Query to automatically identify and convert the column.
C.Change the column type to 'Date' in Power Query before loading.
D.Split the column into separate date and time columns and then combine them.
AnswerB

Detect Data Type analyzes the data and applies the appropriate type, handling inconsistent formats.

Why this answer

Option B is correct because the 'Detect Data Type' function in Power Query analyzes the column's values to infer the most appropriate data type, automatically handling mixed formats like '2024-01-15 14:30:00' and '01/15/2024 2:30 PM' by converting them to a consistent datetime type. This ensures that time intelligence calculations in Power BI can rely on a uniform date/time column without manual intervention or data loss.

Exam trap

The trap here is that candidates often choose Option C (changing to 'Date' type) thinking it simplifies the data, but they overlook that this discards the time component, which is essential for many time intelligence calculations and can cause unexpected aggregation errors.

How to eliminate wrong answers

Option A is wrong because loading the column as text and ignoring conversion errors would leave the data as strings, preventing any time intelligence functions (e.g., DATEADD, DATESYTD) from working correctly, as they require a date or datetime data type. Option C is wrong because changing the column type directly to 'Date' would truncate the time portion of the datetime values, losing granularity needed for time-based calculations like hour-level trends. Option D is wrong because splitting the column into separate date and time columns is unnecessary and adds complexity; Power Query can handle mixed datetime formats natively with type detection, and splitting would require recombining for time intelligence, which is inefficient.

90
MCQeasy

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

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

The Folder connector allows you to combine multiple files with the same structure.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

91
MCQmedium

You are reviewing the M query above. The query connects to an Azure SQL database and filters orders after June 1, 2024. The query runs successfully in Power Query Editor, but when you close and apply, the data load fails. What is the most likely cause?

A.The date filter syntax is invalid.
B.The query has a syntax error in the let expression.
C.The database server is not accessible or credentials are missing.
D.The column 'OrderDetails' does not exist.
AnswerC

Network or authentication issues can cause load failure.

Why this answer

The query runs successfully in Power Query Editor but fails during 'Close & Apply' because the editor uses a cached data preview, while the actual load requires a live connection to the Azure SQL database. The most likely cause is that the database server is inaccessible or the credentials are missing or expired at load time, which is a common connectivity issue in Power BI.

Exam trap

The trap here is that candidates assume a successful preview in Power Query Editor guarantees a successful data load, ignoring that the editor may use cached data or a different authentication context than the actual refresh.

How to eliminate wrong answers

Option A is wrong because the date filter syntax is validated during the query execution in Power Query Editor, and since it runs successfully there, the syntax is correct. Option B is wrong because a syntax error in the let expression would cause the query to fail immediately in the editor, not only during 'Close & Apply'. Option D is wrong because if the column 'OrderDetails' did not exist, the query would fail in the editor with a 'column not found' error, not during the load phase.

92
MCQhard

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

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

USERELATIONSHIP activates a specific inactive relationship for a calculation.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

93
MCQhard

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

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

Removing unused columns directly reduces the data loaded into the model.

Why this answer

Removing unused columns from the fact table reduces the amount of data imported into the VertiPaq engine, which directly minimizes the model size. Each column consumes memory for compression and storage, so eliminating unnecessary columns is the most effective way to reduce the model footprint without changing query performance or data refresh behavior.

Exam trap

The trap here is that candidates often confuse minimizing model size with optimizing query performance, leading them to choose DirectQuery (Option B) even though the question explicitly asks for minimizing model size in an imported model context.

How to eliminate wrong answers

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

94
MCQeasy

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

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

Changing data type to Date directly converts the text to date.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

95
MCQmedium

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

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

Removing columns reduces data loaded into the model.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

96
Multi-Selectmedium

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

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

Ensures proper column names.

Why this answer

Option B is correct because promoting headers is a best practice when the first row of your source data contains column names. This ensures that Power BI correctly interprets those values as field names rather than data, which is essential for accurate data modeling and reporting. The 'Promote Headers' transformation is a standard step in Power Query to clean and structure imported data.

Exam trap

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

97
MCQeasy

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

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

Correct. This automatically merges files.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

98
MCQmedium

You are preparing data from a SQL Server database for a Power BI report. The database contains a table with millions of rows of sales transactions. You need to minimize the data load time and reduce the model size. What should you do?

A.Configure incremental refresh without filtering.
B.Enable query folding in Power Query.
C.Use DirectQuery instead of Import mode.
D.Import only the required columns and apply row-level filters in Power Query.
AnswerD

By selecting only necessary columns and filtering rows, you reduce the amount of data loaded, speeding up import and shrinking model size.

Why this answer

Option D is correct because importing only the necessary columns and applying filters to reduce rows directly reduces the amount of data loaded into Power BI, minimizing load time and model size. Option A is wrong because DirectQuery would avoid import but not reduce load time for queries and may impact performance. Option B is wrong because Power Query folding is automatic for SQL Server but does not reduce data volume unless combined with filters.

Option C is wrong because incremental refresh requires a date column and configured policy, but does not reduce initial load.

99
Multi-Selecthard

You are troubleshooting a Power Query that fails to refresh. The error message indicates a 'DataFormat.Error: Invalid cell value' for a column. Which TWO actions can help identify the problematic rows?

Select 2 answers
A.Apply a filter to the column to exclude errors and see which rows remain.
B.Use 'Group By' to aggregate the column.
C.Use 'Remove Errors' to remove problematic rows and then review the removed rows.
D.Use 'Replace Errors' with a default value.
E.Change the column type to text to avoid the error.
AnswersA, C

Filtering out errors helps isolate the problematic rows.

Why this answer

Option A is correct because applying a filter to the column and selecting 'Errors' (or deselecting errors) lets you isolate rows that contain invalid cell values. This directly shows which rows are causing the DataFormat.Error, allowing you to inspect or correct them. It is a quick, non-destructive way to identify problematic data without removing or altering other rows.

Exam trap

The trap here is that candidates often choose 'Replace Errors' or 'Change Type to Text' thinking they fix the error, but these actions mask the problem without identifying the root cause, which is what the question specifically asks for.

100
Multi-Selectmedium

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

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

Relationships require columns, not measures.

Why this answer

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

Exam trap

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

101
MCQhard

You have a Power BI data model that contains a fact table and a date dimension. The fact table has a column 'OrderDate' and the date dimension has a column 'Date'. You need to create a measure that calculates the total sales for the last complete month. The date dimension is marked as a date table. What DAX expression should you use?

A.CALCULATE(SUM(Sales[Amount]), DATESMTD('Date'[Date]))
B.CALCULATE(SUM(Sales[Amount]), 'Date'[Date] = DATE(2023,1,1))
C.TOTALMTD(SUM(Sales[Amount]), 'Date'[Date])
D.CALCULATE(SUM(Sales[Amount]), PREVIOUSMONTH('Date'[Date]))
AnswerD

PREVIOUSMONTH returns all dates in the previous month.

Why this answer

Option D is correct because PREVIOUSMONTH returns a set of dates for the previous month relative to the last date in the current filter context. Since the date dimension is marked as a date table, time intelligence functions like PREVIOUSMONTH work correctly. CALCULATE then evaluates SUM(Sales[Amount]) over that month-long period, giving total sales for the last complete month.

Exam trap

The trap here is that candidates confuse month-to-date functions (DATESMTD, TOTALMTD) with functions that return a complete previous month, leading them to select options that calculate partial current month totals instead of the last full month.

How to eliminate wrong answers

Option A is wrong because DATESMTD returns dates from the start of the current month to the last date in the filter context, which gives month-to-date sales, not the last complete month. Option B is wrong because it hardcodes a specific date (January 1, 2023) rather than dynamically calculating the last complete month, so it will not adapt to different time periods. Option C is wrong because TOTALMTD is a deprecated function that calculates month-to-date totals, not the previous complete month, and its use is discouraged in modern DAX.

102
Multi-Selectmedium

You have a Power Query transformation that combines data from multiple Excel files in a folder. Each file has a different structure. You need to identify which TWO actions will help standardize the data before combining. (Choose two.)

Select 2 answers
A.Filter out rows with null values.
B.Merge all files into one table before cleaning.
C.Use the Combine Files function and select a sample file to define the transformation.
D.Promote the first row as headers in each file.
E.Remove all columns except the ones you need from a single file.
AnswersC, D

Combine Files uses a sample file to infer the schema and apply transformations to all files.

Why this answer

Option C is correct because the Combine Files function in Power Query allows you to select a sample file to define a single transformation logic that is then applied to all files in the folder. This is essential when files have different structures, as it standardizes the data by using the sample file's schema as a template, ensuring consistent column names, data types, and transformations across all files.

Exam trap

The trap here is that candidates often think cleaning actions like filtering nulls or removing columns from a single file are sufficient to standardize data across multiple files, but they fail to realize that structural differences require a sample-file-based transformation that is consistently applied to all files.

103
MCQeasy

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

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

Removes rows with null values in any column, including ProductID.

Why this answer

Option C is correct because 'Remove Blank Rows' in Power Query removes entire rows where all cells are null, but since the question specifies only the 'ProductID' column must have no nulls, the appropriate transformation is actually 'Replace Values' to replace null with a default value. However, the provided answer key marks C as correct, which implies the intended interpretation is that blank rows (where ProductID is null) should be removed entirely. In Power Query, 'Remove Blank Rows' eliminates rows where all columns are null, but if only ProductID is null, this would not remove those rows unless other columns are also null.

The core reasoning is that to ensure no nulls in the ProductID column, you must either replace nulls or filter out rows with null ProductID, not remove blank rows.

Exam trap

The trap here is that candidates confuse 'Remove Blank Rows' (which removes rows where all columns are null) with removing rows where a specific column is null, leading them to incorrectly choose C when the correct approach is to replace nulls or filter the specific column.

How to eliminate wrong answers

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

104
MCQmedium

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

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

Append Queries adds rows from one table to another.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

105
MCQmedium

You are importing data from a JSON file that contains nested arrays. You need to expand the arrays into separate rows while maintaining the parent information. What should you do?

A.In Power Query Editor, click the expand icon on the column and select 'Expand to New Rows'.
B.Use the Pivot Column feature to transform the array.
C.Use the Merge Queries feature to combine tables.
D.Use the Group By feature to flatten the data.
AnswerA

This expands list values into new rows.

Why this answer

Option A is correct because Power Query's 'Expand to New Rows' function is specifically designed to flatten nested arrays (e.g., lists or records within a JSON column) into separate rows while duplicating the parent row's other columns. This operation uses the `Table.ExpandListColumn` or `Table.ExpandRecordColumn` M function under the hood, which unpacks each element of the array into its own row, preserving the parent context.

Exam trap

The trap here is that candidates often confuse 'Expand to New Rows' with 'Extract Values' (which concatenates array elements into a single string) or mistakenly think Merge Queries or Pivot Column can flatten nested arrays, when in fact only the expand icon's 'Expand to New Rows' option correctly unpacks arrays into individual rows.

How to eliminate wrong answers

Option B is wrong because the Pivot Column feature transforms unique values from a column into multiple columns (pivoting), which does not flatten nested arrays into rows; it aggregates or spreads data horizontally, not vertically. Option C is wrong because Merge Queries combines two tables based on a matching key, but it does not expand nested arrays within a single column; it would require an existing separate table to join against. Option D is wrong because Group By aggregates rows based on grouping columns, often using sum, count, or other aggregations, but it cannot expand nested arrays into separate rows; it collapses data rather than expanding it.

106
MCQmedium

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

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

This approach correctly navigates to the folder, reads each Excel file, and combines data from the specified sheet.

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

107
MCQhard

You are reviewing the DAX expression above. The DateTable is supposed to have a continuous date range from 2020 to 2025. However, when you use the Year column in a slicer, the data shows only 2024 values. What is the most likely cause?

A.The ADDCOLUMNS function is not supported.
B.The DAX syntax for CALENDAR is incorrect.
C.The DateTable is not related to the fact table.
D.The DateTable has too many rows.
AnswerC

Without a relationship, the slicer shows only dates present in both tables.

Why this answer

Option C is correct because the slicer showing only 2024 values indicates that the DateTable is not related to the fact table. Without an active relationship, the slicer on the Year column cannot filter the fact table, so it defaults to showing only the current year (2024) or the first year in the DateTable. A proper relationship (e.g., one-to-many from DateTable[Date] to FactTable[Date]) is required for cross-filtering to work.

Exam trap

The trap here is that candidates often assume a slicer showing only one year is due to a data or syntax error, rather than recognizing it as a classic symptom of a missing or broken relationship between the date table and the fact table.

How to eliminate wrong answers

Option A is wrong because ADDCOLUMNS is a fully supported DAX function that adds calculated columns to a table; it is not the cause of a slicer showing only one year. Option B is wrong because the CALENDAR function syntax is correct (e.g., CALENDAR(DATE(2020,1,1), DATE(2025,12,31))) and would generate a continuous date range; syntax errors would prevent the table from being created entirely, not cause partial data display. Option D is wrong because having too many rows (e.g., from 2020 to 2025) would not cause the slicer to show only 2024; it would show all years in the range.

108
MCQeasy

You are merging two tables in Power Query: 'Orders' and 'Customers'. You want to include only rows from Orders that have a matching CustomerID in Customers. Which join kind should you use?

A.Inner join
B.Full Outer join
C.Right Outer join
D.Left Outer join
AnswerA

Returns only matching rows.

Why this answer

An inner join in Power Query returns only rows from both tables where there is a match on the join key. Since you want to include only rows from Orders that have a matching CustomerID in Customers, the inner join is the correct choice. It filters out any Orders rows without a corresponding CustomerID in the Customers table.

Exam trap

The trap here is that candidates often confuse left outer join (which keeps all rows from the first table) with inner join, mistakenly thinking they need to preserve all Orders rows, but the question explicitly requires only matching rows.

How to eliminate wrong answers

Option B (Full Outer join) is wrong because it returns all rows from both tables, including rows without matches, which would include Orders rows with no matching CustomerID. Option C (Right Outer join) is wrong because it returns all rows from Customers and only matching rows from Orders, which would include Customers rows without matching Orders, not the desired behavior. Option D (Left Outer join) is wrong because it returns all rows from Orders and only matching rows from Customers, which would include Orders rows with no matching CustomerID, contrary to the requirement.

109
MCQmedium

You are building a Power BI data model from an Azure SQL Database. The source table contains a column 'OrderDate' of type datetime. You want to create a date table in Power Query that includes all dates from the minimum to maximum OrderDate. Which M function should you use to generate the list of dates?

A.List.Dates
B.List.Generate
C.List.DateTimes
D.List.Range
AnswerA

List.Dates(start, count, #duration(1,0,0,0)) generates a list of consecutive dates.

Why this answer

Option A is correct because `List.Dates` generates a list of sequential dates (type `date`) given a start date, a count of values, and a step duration. In Power Query, when you need a date table covering the range from the minimum to maximum `OrderDate`, you compute the count as `Duration.Days(MaxDate - MinDate) + 1` and use `List.Dates(MinDate, Count, #duration(1,0,0,0))`. This produces a clean list of dates without time components, ideal for a date dimension.

Exam trap

The trap here is that candidates confuse `List.DateTimes` (which includes time) with `List.Dates` (date only), or they overcomplicate the solution by choosing `List.Generate` when a simpler, purpose-built function exists.

How to eliminate wrong answers

Option B is wrong because `List.Generate` is a general-purpose generator that requires a custom loop function with initial, condition, next, and optional transform parameters; it is overly complex and not the direct function for generating a simple sequence of dates. Option C is wrong because `List.DateTimes` generates a list of datetime values (including time components), not just dates, which would introduce unnecessary time granularity and potential performance overhead for a date table. Option D is wrong because `List.Range` extracts a contiguous subset from an existing list; it does not generate a new list of dates from scratch.

110
MCQhard

You are designing a data model for a retail company. The source system has a Sales table with columns: Date, StoreID, ProductID, SalesAmount. You need to create a date dimension table that includes all dates from the Sales table. Which DAX expression should you use to create the date table?

A.DateTable = VALUES(Sales[Date])
B.DateTable = CALENDAR(MIN(Sales[Date]), MAX(Sales[Date]))
C.DateTable = CALENDARAUTO()
D.DateTable = DISTINCT(Sales[Date])
AnswerC

This automatically creates a date table covering all dates in the model.

Why this answer

Option C is correct because `CALENDARAUTO()` automatically generates a contiguous date table spanning all dates present in the model, including those from the Sales table. This function scans all date columns in the model and returns a single column of dates from the earliest to the latest, which is the simplest way to create a date dimension that covers the full range of transaction dates without needing explicit MIN/MAX references.

Exam trap

The trap here is that candidates often confuse `VALUES` or `DISTINCT` with creating a proper date dimension, not realizing that a date table must be a continuous range of dates, not just the distinct values from a fact table.

How to eliminate wrong answers

Option A is wrong because `VALUES(Sales[Date])` returns only the distinct dates that actually exist in the Sales table, which may have gaps (e.g., weekends or holidays with no sales) and does not create a continuous date table required for time intelligence. Option B is wrong because `CALENDAR(MIN(Sales[Date]), MAX(Sales[Date]))` creates a contiguous date range but requires explicit MIN/MAX references, making it less elegant than `CALENDARAUTO()` and prone to error if the Sales table is filtered or empty. Option D is wrong because `DISTINCT(Sales[Date])` behaves identically to `VALUES` in this context—it returns only the existing dates without filling gaps, so it fails to produce a proper date dimension.

111
Multi-Selectmedium

You are designing a data model for a sales analysis report. The source data includes a table with Sales, Product, Customer, and Date information in a single flat table. You need to transform this into a star schema with separate dimension tables. Which THREE actions should you take?

Select 3 answers
A.Create a Product dimension table by selecting distinct product attributes and assigning a surrogate key.
B.Remove duplicate rows from the Product table and create a relationship to the fact table using a key.
C.Create a Date dimension table from the date column, including date attributes like year, quarter, month.
D.Merge the Customer and Product dimensions into one table to reduce the number of tables.
E.Keep all columns in a single table to avoid relationships.
AnswersA, B, C

Product attributes should be in a separate dimension to avoid redundancy.

Why this answer

Option A is correct because creating a Product dimension table by selecting distinct product attributes and assigning a surrogate key is a fundamental step in building a star schema. This process normalizes the flat table by separating product-related attributes into a dedicated dimension, which reduces redundancy and improves query performance in Power BI. The surrogate key (e.g., an integer identity column) ensures a stable, unique identifier for each product, independent of any changes in the source system's natural keys.

Exam trap

The trap here is that candidates often think merging dimensions or keeping a single flat table simplifies the model, but the PL-300 exam specifically tests the requirement to normalize into a star schema for optimal performance and maintainability.

112
MCQeasy

You are a Power BI report creator. You have a dataset that includes a date table and a sales table. The date table has a column 'FiscalYear' (e.g., 'FY2025'). The sales table has a column 'OrderDate'. You need to create a relationship between the date table and the sales table based on the fiscal year. However, the date table has one row per fiscal year, and the sales table has multiple rows per fiscal year. You want to filter sales by fiscal year. What is the correct approach to model this?

A.Add a calculated column in Sales to extract fiscal year from OrderDate and use that for filtering without a relationship.
B.Merge the Date table into the Sales table in Power Query.
C.Create a one-to-many relationship from Date[FiscalYear] to Sales[FiscalYear] (assuming Sales table has FiscalYear).
D.Create a many-to-many relationship between Date and Sales using a bridge table.
AnswerC

Standard star schema approach.

Why this answer

Option C is correct because it establishes a standard one-to-many relationship between the Date table (with one row per fiscal year) and the Sales table (with multiple rows per fiscal year) using a common FiscalYear column. This allows Power BI to filter sales by fiscal year through the relationship, leveraging the date table as a filter dimension. The relationship must be based on a column in the Sales table that contains the fiscal year for each order, which can be added as a calculated column if not already present.

Exam trap

The trap here is that candidates may think a many-to-many relationship or a bridge table is needed when the date table has one row per fiscal year and the sales table has multiple rows, but the correct modeling approach is a simple one-to-many relationship based on a common fiscal year column in both tables.

How to eliminate wrong answers

Option A is wrong because adding a calculated column in Sales to extract fiscal year without creating a relationship means you cannot use the Date table as a filter; you would have to filter directly on the Sales table, losing the benefits of a star schema and the ability to use date table hierarchies. Option B is wrong because merging the Date table into the Sales table in Power Query would denormalize the data, creating a single flat table that violates star schema principles, increases data duplication, and makes time intelligence calculations difficult. Option D is wrong because a many-to-many relationship using a bridge table is unnecessary and overly complex for this scenario; the cardinality is clearly one-to-many (one fiscal year in Date to many orders in Sales), and a bridge table would introduce ambiguity and performance overhead without any benefit.

113
MCQeasy

You are importing data from a CSV file that contains a column 'OrderDate' with dates in the format 'MM/dd/yyyy'. Some rows have invalid dates like '02/30/2023'. What is the best way to handle these errors in Power Query?

A.Use 'Replace Errors' to replace error values with null.
B.Remove rows with errors using 'Remove Rows' > 'Remove Errors'.
C.Change the data type to 'Date' and ignore errors.
D.Filter the column to exclude rows where the date is invalid after type conversion.
AnswerA

This keeps the row and sets the invalid date to null, which can be handled later in the model.

Why this answer

Option A is correct because 'Replace Errors' in Power Query allows you to replace error values (which occur when Power Query fails to convert an invalid date like '02/30/2023' to the Date type) with null. This preserves the rest of the data and keeps the query running without interruption, while clearly marking invalid entries for later handling or analysis.

Exam trap

The trap here is that candidates often choose 'Remove Errors' (Option B) thinking it cleans the data, but they overlook that it deletes entire rows, which may discard valid data in other columns — a common mistake in data preparation scenarios.

How to eliminate wrong answers

Option B is wrong because 'Remove Errors' deletes entire rows containing any error, which can lead to data loss if other columns in those rows contain valid data. Option C is wrong because 'Change data type to Date and ignore errors' is not a valid Power Query operation; ignoring errors during type conversion still results in errors in the column, and there is no built-in 'ignore errors' toggle. Option D is wrong because filtering to exclude rows with invalid dates after type conversion requires the errors to be present first, and filtering on error values is not straightforward; it is more efficient to replace errors with null and then filter if needed.

114
MCQmedium

You are reviewing a Power Query that imports data from SQL Server. The exhibit shows the M code. The SQL query filters records after a date, then Power Query filters rows with OrderQty > 10, and then groups by ProductID. What is a potential performance issue with this approach?

A.The query will fail because the SQL query uses '>' with a string.
B.The SQL query should use a parameter for the date instead of a hardcoded value.
C.The filter on OrderQty > 10 should be included in the SQL query to reduce the amount of data transferred.
D.The grouping should be done in SQL to reduce data volume.
AnswerC

Filtering in SQL reduces data load; currently, all rows after the date are loaded.

Why this answer

Option C is correct because pushing the `OrderQty > 10` filter into the SQL query reduces the amount of data transferred from SQL Server to Power Query. In Power Query, data is loaded into memory before transformations; filtering earlier in the source query minimizes memory usage and network latency, which is a key performance optimization in Power BI data loading.

Exam trap

The trap here is that candidates focus on the date filter or grouping as the main performance issue, but the most impactful optimization is moving the row-level filter (`OrderQty > 10`) into the SQL query to reduce data transfer, which is a classic 'query folding' concept in Power Query.

How to eliminate wrong answers

Option A is wrong because the SQL query uses `'>'` with a string, but SQL Server implicitly converts the string to a date for comparison, so the query will not fail. Option B is wrong while using a parameter is a best practice for maintainability, it does not directly address the performance issue of data volume; the question asks about a potential performance issue, not code quality. Option D is wrong because grouping in SQL could reduce data volume, but the primary performance bottleneck here is the row filter on `OrderQty > 10` being applied after data transfer; grouping after filtering is less impactful than filtering earlier.

115
MCQeasy

You are importing a large dataset from a CSV file using Power Query. The file contains 50 columns, but you only need 10 for your report. What is the most efficient way to reduce the amount of data loaded into the model?

A.Remove the unnecessary columns in Power Query before loading.
B.Load all columns and then hide the unnecessary ones in the report.
C.Use a SQL query to select only the needed columns if the data source supports it.
D.Create a DAX calculated table that selects only the needed columns.
AnswerA

Removing columns early reduces the data volume.

Why this answer

Option A is correct because Power Query processes data before it enters the Power BI model. Removing unnecessary columns at the query stage reduces the amount of data loaded into memory, improving performance and reducing storage. This is the most efficient approach as it minimizes the dataset size from the start, unlike post-load methods that still consume resources.

Exam trap

The trap here is that candidates often confuse 'hiding' columns with actually removing them, or incorrectly assume SQL-like filtering can be applied to flat files, leading them to choose options that still load unnecessary data into memory.

How to eliminate wrong answers

Option B is wrong because loading all 50 columns and hiding them still stores the full dataset in the model, wasting memory and slowing refresh times. Option C is wrong because the question specifies a CSV file, which does not support SQL queries; this option only applies to database sources like SQL Server. Option D is wrong because creating a DAX calculated table still loads the full dataset into the model first, then creates a subset in memory, which is less efficient than filtering at the import stage.

116
MCQmedium

You have a Power BI dataset that uses a SQL Server data source. The SQL Server database is located in a different region, causing slow refresh performance. You need to improve the data refresh performance without changing the data source. What should you do?

A.Change the storage mode to DirectQuery to reduce data movement.
B.Increase the scheduled refresh frequency to reduce the amount of data loaded each time.
C.Install an on-premises data gateway to reduce latency.
D.Enable the 'Fast Combine' option in the Power Query privacy settings.
AnswerD

Fast Combine can improve performance by bypassing privacy checks, but may have security implications.

Why this answer

Option D is correct because enabling the 'Fast Combine' option in Power Query privacy settings allows Power BI to ignore privacy levels for data sources, which can significantly improve query performance by enabling more efficient query folding and reducing the overhead of separate data source isolation checks. This is particularly beneficial when dealing with a remote SQL Server database, as it minimizes the number of round trips and data transformations required during refresh.

Exam trap

The trap here is that candidates often confuse 'Fast Combine' with a security or data protection feature, not realizing it is a performance optimization that trades privacy enforcement for faster query folding and reduced data transfer.

How to eliminate wrong answers

Option A is wrong because changing the storage mode to DirectQuery would not improve refresh performance; it would shift query execution to the source database, but the underlying latency from the different region would still affect each query, and DirectQuery is not a refresh optimization. Option B is wrong because increasing the scheduled refresh frequency does not reduce the amount of data loaded each time; it simply runs the same full refresh more often, which could worsen performance by increasing load on the remote database. Option C is wrong because installing an on-premises data gateway is used to connect to on-premises data sources securely, but it does not reduce network latency between regions; the gateway itself adds a hop and does not address the geographic distance to the SQL Server.

117
MCQmedium

You are preparing data for a Power BI report. The source data contains a column 'FullName' with values like 'John Doe'. You need to split this column into 'FirstName' and 'LastName' using Power Query. The transformation should be repeatable and not dependent on the number of spaces. What is the best approach?

A.Use 'Split Column by Number of Characters' with a fixed position.
B.Use 'Split Column by Delimiter' and choose 'Right-most delimiter'.
C.Use 'Replace Values' to replace space with a comma.
D.Use 'Extract Text After Delimiter' with a space.
AnswerB

Splitting by the rightmost space reliably separates last name from the rest, assuming last name is after the last space.

Why this answer

Option B is correct. Splitting by delimiter (space) at the rightmost occurrence reliably separates last name from first name. Option A is wrong because splitting by position is not reliable.

Option C is wrong because Extract after delimiter picks the wrong part. Option D is wrong because Replace values doesn't split.

118
Multi-Selectmedium

Which TWO of the following are valid data source types in Power BI that support DirectQuery? (Select TWO.)

Select 2 answers
A.Snowflake
B.Excel workbook
C.Azure Synapse Analytics
D.SharePoint Online List
E.JSON file
AnswersA, C

Snowflake supports DirectQuery.

Why this answer

Snowflake is a cloud-based data warehouse that supports DirectQuery in Power BI, allowing queries to be sent directly to Snowflake without importing data into Power BI's in-memory engine. This is possible because Snowflake provides a SQL-based interface that Power BI can connect to via its native connector, enabling real-time querying of large datasets.

Exam trap

The trap here is that candidates often confuse file-based or list-based data sources (like Excel, JSON, or SharePoint) as being DirectQuery-capable because they can be connected to Power BI, but DirectQuery is strictly limited to relational databases and data warehouses that support live query execution.

119
MCQmedium

You are preparing data from an on-premises SQL Server database for a Power BI report. The source table contains 10 million rows and you only need the last 3 months of data. Which approach minimizes the data load time and memory consumption in the dataset?

A.Use Power Query to group by month and then filter after aggregation.
B.Use a SQL query in Power Query that includes a WHERE clause to filter the last 3 months.
C.Load all data into Power Query and apply a filter on the date column using the 'Remove Rows' feature.
D.Load all data into Power BI and then use a report-level filter to show only the last 3 months.
AnswerB

This enables query folding, pushing the filter to the source.

Why this answer

Option B is correct because query folding ensures that the filter is pushed to the source database, reducing the amount of data transferred. Option A is wrong because loading all data and then filtering in Power Query still transfers the full dataset. Option C is wrong because it still imports all data.

Option D is wrong because importing all data and using a filter on the report is less efficient.

120
MCQeasy

You are preparing data in Power BI Desktop. You have a table with a column 'CustomerID' that contains duplicate values. You need to create a relationship to another table that also has 'CustomerID'. However, the relationship requires unique values in at least one of the tables. What should you do?

A.Create a composite key using multiple columns.
B.Use the 'Merge Queries' feature to combine the tables into one.
C.Change the data type of 'CustomerID' to text.
D.Remove duplicate rows from the 'CustomerID' column in the dimension table.
AnswerD

Removing duplicates ensures uniqueness for the relationship.

Why this answer

Option D is correct because to create a relationship in Power BI, at least one table must have unique values in the column used for the relationship. By removing duplicate rows from the 'CustomerID' column in the dimension table (which should contain unique identifiers), you ensure that the dimension table has unique values, allowing a one-to-many relationship to be established with the fact table. This is a standard data modeling practice in Power BI to enforce referential integrity.

Exam trap

The trap here is that candidates often think changing data types or merging tables will solve the uniqueness issue, but Power BI specifically requires unique values in at least one table for a relationship, and only removing duplicates directly addresses that requirement.

How to eliminate wrong answers

Option A is wrong because creating a composite key does not address the requirement of having unique values in at least one table for the relationship; it only combines multiple columns to form a unique identifier, but the underlying duplicate values in 'CustomerID' would still prevent a direct relationship on that column. Option B is wrong because merging queries combines tables into a single table, which eliminates the need for a relationship but is not the correct approach when you need to maintain separate tables and create a relationship between them; it also does not resolve the uniqueness requirement for the relationship. Option C is wrong because changing the data type of 'CustomerID' to text does not remove duplicate values; it only changes the data format, and duplicates would still exist, preventing the relationship from being created.

121
MCQmedium

You are designing a data model in Power BI. You have a Sales table and a Date table. The Date table should contain all dates from 2020 to 2025. What is the best practice for creating the Date table?

A.Create a calculated table using VALUES from the Sales table's date column.
B.Use the Sales table's date column directly as the date dimension.
C.Enable the auto date/time option in Power BI settings.
D.Create a separate Date table using CALENDAR function in DAX.
AnswerD

Ensures a continuous date range for time intelligence.

Why this answer

Option D is correct because using the CALENDAR function to create a separate Date table ensures a complete, contiguous date range from 2020 to 2025, independent of the Sales table. This is a best practice in Power BI for time intelligence, as it guarantees all dates are present for accurate year-over-year calculations and avoids gaps or missing dates that could occur if relying solely on transaction data.

Exam trap

The trap here is that candidates often think using the Sales table's date column directly (Option B) is simpler and sufficient, but this violates the requirement for a complete date dimension and fails when no sales occur on certain dates, which is a common pitfall tested in PL-300.

How to eliminate wrong answers

Option A is wrong because creating a calculated table using VALUES from the Sales table's date column only includes dates where sales occurred, which may omit dates with no transactions, breaking time intelligence functions like TOTALYTD or SAMEPERIODLASTYEAR. Option B is wrong because using the Sales table's date column directly as the date dimension violates the star schema principle of having a separate, dedicated date table, leading to poor performance and inability to mark it as a date table for built-in time intelligence. Option C is wrong because enabling the auto date/time option in Power BI settings creates hidden date tables automatically, but these are not user-controllable, cannot be extended to a custom range like 2020–2025, and can cause confusion in model relationships.

122
MCQhard

You have a Sales table with columns: ProductID, Amount, Date. You create the calculated column above. However, the rank values are not as expected; all rows show 1. What is the most likely cause?

A.The Dense parameter forces all ranks to 1.
B.The DESC parameter is misspelled; it should be 'Desc'.
C.The expression SUM(Sales[Amount]) in a calculated column aggregates only the current row, resulting in the same value for all rows.
D.The RANKX function requires a measure, not a calculated column.
AnswerC

In a calculated column, SUM over a column without filter context sums the entire column, but because it's in a row context, it is not a proper measure; actually, SUM(Sales[Amount]) in a row context returns the sum of all rows, not per row. Wait, the statement in D is slightly off. More precisely, in a calculated column, SUM(Sales[Amount]) returns the total sum of Amount across all rows, which is constant for all rows, so all ranks are 1. The correct fix is to use a measure or use the column value directly.

Why this answer

Option C is correct because in a calculated column, the SUM(Sales[Amount]) expression is evaluated in row context, meaning it aggregates only the current row's Amount value rather than the entire Sales table. Since every row has the same single-row aggregate, RANKX sees identical values for all rows and assigns rank 1 to each. To get correct ranking, you must use a measure or explicitly use ALL(Sales) in the expression to remove row context.

Exam trap

The trap here is that candidates confuse row context with filter context, assuming that SUM in a calculated column behaves like a measure and aggregates the whole table, when in reality it only sees the current row.

How to eliminate wrong answers

Option A is wrong because the Dense parameter in RANKX does not force all ranks to 1; it controls whether ranking gaps are skipped (e.g., 1,2,3 instead of 1,3,5) but does not affect the underlying values being ranked. Option B is wrong because the DESC parameter is correctly spelled as 'DESC' or 'DESCENDING' in DAX; there is no requirement for lowercase 'Desc', and a misspelling would cause a syntax error, not all ranks being 1. Option D is wrong because RANKX can be used in a calculated column; it does not require a measure, though the expression must be properly written to avoid row context issues.

123
MCQeasy

You are preparing data for a report that requires joining sales data from a SQL database with customer demographic data from a CSV file. The CSV file contains duplicate customer IDs. How should you handle duplicates to ensure accurate analysis?

A.Group by CustomerID and aggregate all columns.
B.In Power Query, use 'Merge Queries' and select 'Merge with duplicates' option.
C.Load both tables as-is and create a relationship in the data model.
D.In Power Query, remove duplicates from the CustomerID column in the CSV table before merging.
AnswerD

Removing duplicates ensures a clean dimension table.

Why this answer

Option D is correct because removing duplicates from the CustomerID column in the CSV table before merging ensures a one-to-one or one-to-many relationship with the SQL sales data, preventing inflated row counts and inaccurate aggregations. In Power Query, the 'Remove Duplicates' operation keeps the first occurrence by default, which is appropriate when no other filtering criteria are specified. This step is critical for maintaining referential integrity in the data model.

Exam trap

Microsoft often tests the misconception that Power Query can automatically handle duplicates during a merge operation, but in reality, you must explicitly remove or deduplicate the key column before merging to avoid data inflation.

How to eliminate wrong answers

Option A is wrong because grouping by CustomerID and aggregating all columns would collapse multiple rows into one, losing granular detail and potentially discarding valid duplicate records that represent different customers or transactions. Option B is wrong because Power Query does not have a 'Merge with duplicates' option; the Merge Queries dialog only offers join kinds (e.g., Left Outer, Inner) and does not automatically handle duplicates—duplicates must be addressed before or after the merge. Option C is wrong because loading both tables as-is and creating a relationship in the data model would create a many-to-many relationship (due to duplicate CustomerIDs in the CSV), which Power BI does not support directly and would lead to ambiguous aggregations or errors.

124
MCQeasy

You are using Power Query to transform a column of dates. The dates are in the format 'MM/dd/yyyy' but your system locale expects 'dd/MM/yyyy'. When you change the data type to Date, many values become errors. How should you fix this?

A.Change the regional settings of Power BI Desktop to match the source format.
B.Use 'Replace Values' to swap day and month.
C.Use the 'Transform > Date > Parse' option and specify the format 'MM/dd/yyyy'.
D.Split the column by delimiter and recombine.
AnswerC

This correctly interprets the text as a date with the given format.

Why this answer

Option C is correct because Power Query's 'Parse' function allows you to explicitly specify the date format ('MM/dd/yyyy') when converting text to a Date type, overriding the system locale. This ensures that the transformation interprets the month and day correctly, preventing errors caused by locale mismatch.

Exam trap

The trap here is that candidates often assume changing regional settings (Option A) is the simplest fix, but they overlook that this globally alters date parsing for all data, potentially breaking other transformations, while the 'Parse' option provides a precise, column-level solution.

How to eliminate wrong answers

Option A is wrong because changing regional settings in Power BI Desktop affects all date interpretations globally, which can introduce errors in other parts of the report and is not a targeted fix for a single column. Option B is wrong because 'Replace Values' performs a simple text substitution without understanding date components, so swapping day and month would require complex logic and could corrupt data if values are not consistently formatted. Option D is wrong because splitting the column by delimiter and recombining is a manual, error-prone workaround that does not leverage Power Query's built-in date parsing capabilities and can introduce formatting inconsistencies.

125
MCQhard

You are combining CSV files from a folder. The code above returns an error because some CSV files have inconsistent column names and data types. You need to modify the solution to handle variations in column structure. What should you do?

A.Change the delimiter to a semicolon and reconfigure the CSV parser.
B.Use Table.RemoveRows to remove rows that cause errors.
C.Add a custom column to each file to standardize data types before combining.
D.Use the Folder connector's 'Combine Files' transform, which handles schema merging automatically.
AnswerD

The built-in Combine Files feature in Power Query automatically detects column names and data types from the first file and merges subsequent files accordingly, handling variations gracefully.

Why this answer

Option D is correct because the 'Combine Files' transform in Power Query (Folder connector) automatically detects and merges columns from multiple CSV files, even when column names or data types vary. It uses a sample file to infer the schema and then applies transformations to handle inconsistencies, such as promoting headers and aligning data types, which resolves the error without manual intervention.

Exam trap

The trap here is that candidates often think they need to manually fix data types or remove errors (Options B or C), but the 'Combine Files' transform is designed specifically to automate schema merging, which is the correct solution for inconsistent column structures.

How to eliminate wrong answers

Option A is wrong because changing the delimiter to a semicolon does not address inconsistent column names or data types; it only changes how columns are parsed, which is irrelevant to schema merging. Option B is wrong because Table.RemoveRows removes rows that cause errors, but it does not fix the underlying issue of mismatched column structures; it merely discards data, potentially losing valid rows. Option C is wrong because adding a custom column to each file standardizes data types only for that column, not for all columns, and it requires manual effort per file, which is inefficient and does not handle variations in column names.

126
MCQmedium

You are preparing data from an Excel workbook that contains multiple sheets. Each sheet has a similar structure but different data. You need to combine all sheets into a single table in Power Query. What is the most efficient approach?

A.Load each sheet as a separate query and then use 'Append Queries' to combine them.
B.Use 'Merge Queries' to join the sheets based on a common column.
C.Use the 'Combine Files' approach with the workbook as a folder, then select all sheets.
D.Create a new query that references each sheet query and then merges them.
AnswerC

Power Query can treat a single workbook as a folder of sheets and combine them automatically.

Why this answer

Option C is correct because the 'Combine Files' approach in Power Query treats the workbook as a folder, allowing you to select all sheets and automatically combine them into a single table. This is the most efficient method when multiple sheets have a similar structure, as it uses a single transformation step and handles dynamic sheet names without manual query creation.

Exam trap

The trap here is that candidates often confuse 'Append Queries' (which stacks rows) with 'Merge Queries' (which joins columns), and overlook the 'Combine Files' approach because they think it only applies to multiple files, not multiple sheets within a single workbook.

How to eliminate wrong answers

Option A is wrong because loading each sheet as a separate query and then using 'Append Queries' requires manual effort for each sheet, which is inefficient and not scalable for many sheets. Option B is wrong because 'Merge Queries' is designed for joining tables based on a common column (like a SQL JOIN), not for stacking rows from multiple sheets; it would produce a wide table instead of a long one. Option D is wrong because creating a new query that references each sheet query and then merging them still involves manual referencing and is less efficient than the built-in 'Combine Files' functionality, which automates the process.

127
MCQmedium

You are merging two queries in Power Query. Query 'Orders' contains columns: OrderID, CustomerID, OrderDate. Query 'Customers' contains columns: CustomerID, CustomerName, Segment. You need to add the CustomerName to the Orders query. The relationship between Orders and Customers is many-to-one. Which join kind should you use?

A.Inner
B.Left Outer
C.Right Outer
D.Full Outer
AnswerB

Left outer join retains all orders and adds customer name where a match exists; non-matching customers will have null.

Why this answer

The goal is to retain all rows from the Orders table while adding CustomerName from the Customers table. A Left Outer join returns all rows from the first (left) table and only matching rows from the second (right) table, filling non-matches with null. Since the relationship is many-to-one, each OrderID may have a matching CustomerID, and you want to keep every order even if a customer is missing — exactly what Left Outer does.

Exam trap

The trap here is that candidates often confuse Left Outer with Inner join, thinking they must discard non-matching rows to avoid nulls, but the requirement explicitly says to add CustomerName to the Orders query, which implies preserving all orders even if a customer record is missing.

How to eliminate wrong answers

Option A is wrong because an Inner join would only return orders that have a matching customer, discarding any orders with missing or unmatched CustomerID values, which does not satisfy the requirement to add CustomerName to all orders. Option C is wrong because a Right Outer join would return all rows from the Customers table, which is not the target table; it would keep all customers even if they have no orders, and orders without a matching customer would be lost. Option D is wrong because a Full Outer join returns all rows from both tables, creating nulls on both sides for non-matches, which is unnecessary and would introduce extra rows for customers with no orders, bloating the result.

128
MCQeasy

You need to prepare data from a folder containing multiple CSV files with identical structure. What is the most efficient way to load all files into a single table?

A.Import each CSV file separately and then append them
B.Use the 'From Folder' data source and then click 'Combine & Transform Data'
C.Write a Python script in Power Query to read and combine files
D.Use a dataflow to connect to the folder and apply the 'Combine Files' transformation
AnswerB

This automatically combines all files into one table.

Why this answer

Option B is correct because the 'From Folder' data source in Power Query automatically detects multiple CSV files with identical structure and provides a 'Combine & Transform Data' button that merges them into a single table in one step. This is the most efficient method as it eliminates the need for manual imports or scripting, leveraging Power Query's built-in file combination logic.

Exam trap

The trap here is that candidates may think manual appending (Option A) is simpler or that Python scripting (Option C) is a valid Power Query feature, but the exam tests knowledge of Power Query's native 'Combine Files' functionality as the most efficient and integrated method.

How to eliminate wrong answers

Option A is wrong because importing each CSV file separately and then appending them is inefficient and error-prone, requiring manual steps for each file and breaking the automated refresh capability. Option C is wrong because writing a Python script in Power Query is not natively supported; Power Query uses M language, and Python integration requires additional configuration (e.g., Python in Power BI Desktop) and is not the most efficient or standard approach for this task. Option D is wrong because using a dataflow is an overkill for a simple folder import; dataflows are designed for complex ETL processes and cloud-based transformations, not for directly loading local CSV files into a single table in Power BI Desktop.

129
MCQeasy

You have a dataset with a column 'FullName' containing values like 'John Doe'. You need to split this column into 'FirstName' and 'LastName' using the space delimiter. Which Power Query transformation should you use?

A.Split Column by Delimiter.
B.Merge Columns.
C.Extract Text.
D.Replace Values.
AnswerA

Splits a column into multiple columns based on a delimiter.

Why this answer

Option A is correct because the 'Split Column by Delimiter' transformation in Power Query is specifically designed to divide a single text column into multiple columns based on a specified delimiter, such as a space. In this scenario, selecting the column 'FullName' and using 'Split Column > By Delimiter' with a space delimiter will correctly separate 'John Doe' into 'FirstName' (John) and 'LastName' (Doe). This is the standard approach for parsing delimited text within Power Query.

Exam trap

The trap here is that candidates may confuse 'Extract Text' with splitting, thinking it can parse delimiters, but 'Extract Text' only extracts fixed-length or positional substrings, not delimiter-based splits.

How to eliminate wrong answers

Option B is wrong because 'Merge Columns' is used to combine multiple columns into one, not to split a single column. Option C is wrong because 'Extract Text' allows you to pull out substrings based on position or length (e.g., first N characters), but it cannot dynamically split on a delimiter like a space. Option D is wrong because 'Replace Values' is designed to substitute one text value with another, not to separate a column into multiple parts.

130
MCQhard

You are a Power BI administrator at a large enterprise. You need to ensure that all Power BI datasets in your organization use certified data sources only, to maintain data quality. You have enabled data source certification in your Microsoft Purview governance portal. Which additional step must you take to enforce that only certified data sources are used in Power BI datasets?

A.In the Power BI admin portal, enable the 'Require certified data sources' tenant setting.
B.Create dataflows that use only certified data sources and require report creators to use those dataflows.
C.Apply sensitivity labels to all certified data sources in Purview.
D.Configure workspace security to restrict dataset creation to administrators only.
AnswerA

Correct. This setting enforces the requirement.

Why this answer

Option A is correct because the 'Require certified data sources' tenant setting in the Power BI admin portal is the specific control that enforces datasets to use only data sources that have been certified in Microsoft Purview. Without this setting enabled, certification is merely informational and not enforced, allowing uncertified sources to be used. This setting works in conjunction with Purview's data source certification to block dataset creation or refresh if any source lacks certification.

Exam trap

The trap here is that candidates confuse data source certification with other governance features like sensitivity labels or dataflows, assuming those can enforce certification, when only the dedicated tenant setting in the Power BI admin portal provides enforcement.

How to eliminate wrong answers

Option B is wrong because creating dataflows with certified sources does not enforce that all datasets across the organization use certified sources; it only provides a recommended approach but does not block uncertified sources. Option C is wrong because sensitivity labels in Purview control data classification and protection, not data source certification enforcement; they are unrelated to the requirement for certified sources. Option D is wrong because restricting dataset creation to administrators does not enforce the use of certified data sources; it only limits who can create datasets, not what sources they can use.

131
MCQeasy

You are combining data from multiple Excel files stored in SharePoint Online. Each file has the same structure but different data. You need to create a solution that automatically includes new files added to the SharePoint folder without manual intervention. What should you use?

A.Use Power Automate to copy new files to a blob storage, then import from there.
B.Use 'Merge queries' to append each new file manually.
C.Use 'Get Data from SharePoint Online Folder' and then 'Combine files' transform.
D.Use 'Get Data from SharePoint Online List' and load each file separately.
AnswerC

The folder connector with combine files automatically processes all files in the folder, including new ones, on each refresh.

Why this answer

Option B is correct because the 'Combine files' transform in Power Query from a SharePoint folder automatically detects and combines all files in the folder, and when refreshed, it includes any new files. Option A is wrong because Get Data from SharePoint list does not combine files. Option C is wrong because Power Automate would require additional setup and is not native Power Query.

Option D is wrong because merging queries requires manual steps each time.

132
MCQmedium

You have a Power BI dataset that uses DirectQuery mode. The underlying SQL view now includes a new column. What must you do to make the new column available in Power BI?

A.Schedule a daily refresh in the service
B.Create a new measure to reference the column
C.Publish the report again
D.Refresh the dataset in Power BI Desktop
AnswerD

Refreshing updates the schema from the source.

Why this answer

When a SQL view used in DirectQuery mode is updated with a new column, you must refresh the dataset in Power BI Desktop to pull the updated schema into the model. DirectQuery does not cache data, but the metadata (field list) is cached; refreshing the dataset in Power BI Desktop re-queries the source to discover the new column. Only then can you use the column in visuals or measures.

Exam trap

The trap here is that candidates confuse DirectQuery with Import mode and assume that a scheduled refresh in the service will automatically bring in new columns, when in fact DirectQuery requires a manual metadata refresh in Power BI Desktop before republishing.

How to eliminate wrong answers

Option A is wrong because scheduling a daily refresh in the Power BI service only applies to Import mode datasets; DirectQuery mode does not cache data, so scheduled refresh does not update the schema. Option B is wrong because creating a new measure referencing the column is impossible if the column is not yet recognized in the model; the column must first be available in the field list. Option C is wrong because publishing the report again merely uploads the current .pbix file; if the column was not added in Power BI Desktop before publishing, it will still be missing in the service.

133
MCQmedium

You are loading data from a SQL Server database into Power BI. The source table contains a column 'SalesAmount' with occasional NULL values. In the Power Query Editor, you need to replace NULLs with 0 before loading. What is the most efficient transformation?

A.Use 'Replace Errors' with value 0.
B.Use 'Fill Down' to fill nulls with the previous value.
C.Use 'Replace Values' to replace null with 0.
D.Use 'Change Type' to convert to a non-nullable type.
AnswerC

Directly replaces nulls with 0 in one step.

Why this answer

Option C is correct because 'Replace Values' in Power Query Editor is specifically designed to replace null values with a specified value, such as 0. This transformation is the most efficient and direct method for handling NULLs in a column, as it operates at the query level before data is loaded into the Power BI data model.

Exam trap

The trap here is that candidates may confuse 'Replace Errors' with 'Replace Values', mistakenly thinking NULLs are errors, or they may overcomplicate the solution by using 'Fill Down' or type changes instead of the direct replacement method.

How to eliminate wrong answers

Option A is wrong because 'Replace Errors' is used to replace error values (e.g., from data type conversion failures), not NULL values; NULLs are not errors. Option B is wrong because 'Fill Down' propagates the previous non-null value downward, which is not appropriate for replacing NULLs with a constant 0 and can introduce incorrect data patterns. Option D is wrong because 'Change Type' to a non-nullable type will cause the query to fail or produce errors when encountering NULLs, rather than replacing them with 0.

134
Multi-Selecteasy

Which THREE are types of Power Query transforms that can be used to clean data? (Choose three.)

Select 3 answers
A.Remove duplicates
B.Group rows by a column
C.Replace values
D.Merge queries
E.Change data type
AnswersA, C, E

Removing duplicates cleans the data by eliminating redundant rows.

Why this answer

Option A is correct because the 'Remove duplicates' transform in Power Query identifies and eliminates rows with identical values across selected columns, which is a fundamental data cleaning operation to ensure data integrity and avoid skewed analysis.

Exam trap

The trap here is that candidates often confuse data preparation transforms (like merging or grouping) with data cleaning transforms, leading them to select options that are actually for data shaping or integration rather than direct data quality improvement.

135
Multi-Selecthard

Which THREE of the following are best practices for data modeling in Power BI? (Select exactly three.)

Select 3 answers
A.Use bi-directional cross-filtering relationships for all tables.
B.Store calculated logic in calculated columns rather than measures when possible.
C.Create a separate date table for time intelligence functions.
D.Hide the primary key columns in dimension tables from report view.
E.Use a star schema design with fact and dimension tables.
AnswersC, D, E

Enables proper time-based calculations.

Why this answer

Option C is correct because Power BI's time intelligence functions (e.g., TOTALYTD, SAMEPERIODLASTYEAR) require a separate, continuous date table marked as a date table to work correctly. Without a dedicated date table, these functions may return incorrect results or fail due to missing contiguous dates. This table should have a single date column with no gaps and be related to the fact table's date column.

Exam trap

The trap here is that candidates often think bi-directional cross-filtering is a safe default (option A) or that calculated columns are always preferable for simplicity (option B), but the exam tests the understanding that these choices degrade performance and model clarity.

136
MCQeasy

A data analyst needs to combine two queries in Power Query: 'Sales2023' and 'Sales2024', both with identical column structures. Which operation should the analyst use to append the rows from 'Sales2024' to 'Sales2023'?

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

Append stacks rows from multiple tables.

Why this answer

The Append Queries operation in Power Query is designed to combine rows from two or more tables with identical column structures, stacking the rows of 'Sales2024' beneath those of 'Sales2023'. This is the correct method because it preserves all columns and adds data vertically, which matches the requirement to append rows.

Exam trap

The trap here is that candidates often confuse Append Queries with Merge Queries, thinking both combine data, but Merge Queries joins columns horizontally (like a SQL JOIN) while Append Queries stacks rows vertically.

How to eliminate wrong answers

Option B is wrong because Merge Queries performs a join based on matching columns (like SQL JOINs), which combines columns horizontally rather than appending rows vertically, and would require a key column to match records. Option C is wrong because Group By aggregates data by grouping rows based on a column and calculating summaries (e.g., sum, count), which does not add rows from another table. Option D is wrong because Pivot Column transforms unique values from a column into new columns, reshaping data from rows to columns, which is the opposite of appending rows.

137
MCQeasy

You are a business analyst at a marketing agency. You receive a weekly export from a web analytics platform as a CSV file. The file contains columns: Date, Campaign, Impressions, Clicks, Conversions. You need to create a Power BI report that shows trends over time, with the ability to filter by campaign. The CSV file is updated weekly and you want to automate the refresh. You also want to ensure that any new campaigns are automatically included in the report. You have limited experience with Power BI. What should you do?

A.Use Power Query to read the CSV from a local folder, but schedule the refresh using a personal gateway.
B.Import the CSV file directly into Power BI Desktop, create the report, and publish to Power BI Service. Manually re-import the CSV each week.
C.Enable incremental refresh on the dataset to only load new data each week.
D.Create a Power BI dataflow that reads the CSV file from a SharePoint folder, transforms the data (e.g., change data types), and then load the dataflow as a dataset into Power BI. Schedule the dataflow to refresh weekly.
AnswerD

Dataflows provide easy automated refresh and transformation.

Why this answer

Option D is correct because it uses a Power BI dataflow to read the CSV from a SharePoint folder, which supports scheduled refresh without a personal gateway. The dataflow can automatically include new campaigns as they appear in the folder, and the scheduled weekly refresh ensures the report stays up to date. This approach is ideal for users with limited Power BI experience because dataflows handle transformation and refresh centrally in the Power BI Service.

Exam trap

The trap here is that candidates often choose incremental refresh (Option C) thinking it automates new data loading, but they overlook that incremental refresh requires a properly configured date column and does not inherently handle new campaigns unless the source folder structure supports it, whereas a dataflow with a SharePoint folder is the simpler and correct solution for this scenario.

How to eliminate wrong answers

Option A is wrong because using a local folder with a personal gateway requires the gateway to be running on a machine with access to the folder, which adds complexity and is not fully automated for a weekly export; also, new campaigns would be included only if the folder path is dynamic, but the personal gateway introduces a dependency. Option B is wrong because manually re-importing the CSV each week defeats the automation requirement and is not scalable for weekly updates. Option C is wrong because incremental refresh requires a date/time field with a defined range and a supporting policy in Power BI Service, and it does not automatically handle new campaigns unless the data source itself supports partitioning; it also requires a more advanced setup than a simple CSV import.

138
Multi-Selecteasy

Which THREE data sources can be used with Power BI Dataflows? (Choose three.)

Select 3 answers
A.Power BI dataset
B.Excel file stored on local drive
C.OData feed
D.Azure SQL Database
E.SharePoint Online list
AnswersC, D, E

Correct. OData feeds are supported.

Why this answer

OData feeds are supported as a data source in Power BI Dataflows because Dataflows use the Power Query engine, which can connect to OData endpoints to import data. This allows you to pull data from RESTful APIs that expose OData services, making it a valid and common source for cloud-based data ingestion.

Exam trap

The trap here is that candidates often confuse Power BI Dataflows with Power Query in Power BI Desktop, where local file sources like Excel are allowed, but Dataflows in the service strictly require cloud-accessible sources.

139
MCQhard

You are reviewing a Power Query M expression that transforms column types. The 'SalesAmount' column contains values like '1,234.56' (with a comma as thousands separator). After applying this transformation, what is the likely result?

A.The transformation will result in errors for rows containing commas.
B.The column will be converted to text automatically.
C.The column will be successfully converted to numbers.
D.The transformation will ignore the comma and convert the number correctly.
AnswerA

The comma causes the conversion to fail, resulting in errors.

Why this answer

Option A is correct because Power Query's default type conversion for numeric columns expects a period as the decimal separator and no thousands separator. When the 'SalesAmount' column contains values like '1,234.56' with a comma as a thousands separator, attempting to convert the column directly to a number type (e.g., using 'Change Type' or 'Table.TransformColumnTypes') will cause errors for rows containing commas, as Power Query cannot parse the comma as part of a valid number. The comma is not a recognized numeric character in the default locale, so the conversion fails.

Exam trap

The trap here is that candidates assume Power Query will automatically handle locale-specific formatting (like commas as thousands separators) during type conversion, but in reality, it fails with errors unless the data is preprocessed or the correct culture is specified.

How to eliminate wrong answers

Option B is wrong because Power Query does not automatically convert the column to text; the transformation explicitly changes the column type to a number, and if it fails, it produces errors, not a text conversion. Option C is wrong because the comma acts as a non-numeric character in the default locale, preventing successful conversion to numbers without prior data cleaning (e.g., replacing commas with empty strings). Option D is wrong because Power Query does not ignore the comma; it strictly parses the value and fails when encountering an unrecognized character, unlike some other tools that might auto-detect locale settings.

140
Multi-Selectmedium

Which TWO actions can improve data refresh performance in Power BI?

Select 2 answers
A.Merge all queries into a single query.
B.Add calculated columns in Power Query instead of DAX.
C.Disable load for intermediate queries used only for reference.
D.Filter rows at the source to reduce data volume.
E.Keep all columns from the source data to avoid re-importing.
AnswersC, D

Prevents unnecessary data loading.

Why this answer

Option C is correct because disabling load for intermediate queries used only as reference steps prevents Power BI from materializing those tables in the data model. This reduces memory consumption and refresh time, as the engine skips loading data that isn't needed for reports or further transformations.

Exam trap

The trap here is that candidates may confuse 'disable load' with 'disable refresh' or think that merging queries (Option A) is always beneficial, when in fact it can reduce parallelism and hurt performance.

141
MCQmedium

A Power BI dataset is configured to use Import storage mode. The dataset includes a fact table with 100 million rows and several dimension tables. The report is slow when users interact with visuals. You need to improve query performance without changing the storage mode. Which action should you take?

A.Create aggregations on the fact table.
B.Increase the scheduled refresh frequency.
C.Reduce the number of dimension tables.
D.Enable 'Load to report' for all tables.
AnswerA

Aggregations pre-summarize data, improving query speed.

Why this answer

Creating aggregations on the fact table allows Power BI to pre-summarize data at higher granularity levels, reducing the amount of data scanned during query execution. Since the dataset uses Import mode, aggregations leverage the in-memory columnar storage to serve queries from pre-computed tables, significantly improving visual response times without altering the storage mode.

Exam trap

The trap here is that candidates often confuse data refresh frequency (Option B) with query performance, or mistakenly think reducing dimensions (Option C) is a valid optimization, when in fact aggregations are the correct technique for speeding up Import mode queries.

How to eliminate wrong answers

Option B is wrong because increasing the scheduled refresh frequency only updates the data more often; it does not improve query performance against the existing imported data. Option C is wrong because reducing the number of dimension tables would break the star schema design, potentially causing data redundancy and incorrect relationships, and it does not directly address query speed. Option D is wrong because enabling 'Load to report' for all tables simply makes them available in the Power BI model; it has no impact on query performance and may even increase memory usage.

142
MCQhard

You are working with a large dataset in Power BI that contains sales transactions. You need to create a measure that calculates the running total of sales over time. However, the data model does not include a separate date table, and you want to minimize the model size. What is the most efficient approach?

A.Create a separate date table and use the TOTALYTD function in a measure.
B.Write a measure using VAR and FILTER with ALL to compute running total.
C.Create calculated columns for Year and Month, then use SUMX with FILTER.
D.Use the EARLIER function in a calculated column to compute running total.
AnswerA

Best practice for performance and time intelligence.

Why this answer

Option A is correct because creating a separate date table and using TOTALYTD leverages Power BI's time intelligence functions, which require a continuous date table marked as a date table. This approach is efficient because time intelligence functions are optimized for performance and minimize model size by avoiding calculated columns or complex row-context iterations. Without a date table, TOTALYTD cannot function correctly, as it relies on a proper date hierarchy.

Exam trap

Microsoft often tests the misconception that time intelligence functions like TOTALYTD can work without a separate date table, or that calculated columns are more efficient than measures for running totals, leading candidates to choose options that increase model size or degrade performance.

How to eliminate wrong answers

Option B is wrong because using VAR and FILTER with ALL to compute a running total is less efficient than time intelligence functions, as it requires scanning the entire table in row context and can degrade performance on large datasets, and it does not leverage Power BI's optimized time intelligence engine. Option C is wrong because creating calculated columns for Year and Month increases model size and storage overhead, and using SUMX with FILTER in a measure is less efficient than a dedicated time intelligence function like TOTALYTD. Option D is wrong because using EARLIER in a calculated column to compute a running total is highly inefficient, as it iterates over rows in a nested context, leading to poor performance and larger model size due to materialized columns.

143
Multi-Selectmedium

Which TWO data sources can you connect to from Power BI Desktop using a native connector? (Select two.)

Select 2 answers
A.Azure Blob Storage
B.Dataverse
C.MySQL database (on-premises)
D.Oracle database (on-premises)
E.MongoDB
AnswersA, B

Native connector available.

Why this answer

Azure Blob Storage is a correct answer because Power BI Desktop includes a native connector for Azure Blob Storage, allowing direct connection to blob containers without needing a gateway or custom script. This connector uses the Azure storage REST API to access data stored in blobs, enabling import of CSV, JSON, and Parquet files directly.

Exam trap

The trap here is that candidates often assume any popular database (like MySQL, Oracle, or MongoDB) has a native connector, but Power BI Desktop only provides native connectors for cloud-based services and specific Microsoft platforms, while on-premises databases require gateways or generic connectors like ODBC.

144
MCQmedium

You are importing data from a REST API that returns JSON. The JSON structure includes nested arrays. You need to transform the data into a flat table structure in Power Query. Which transform should you apply?

A.Use 'Expand to New Rows' on the list columns
B.Use 'Merge Queries' to combine the nested data
C.Use 'Pivot Column' on the nested columns
D.Use 'Unpivot Columns' on the record columns
AnswerA

Expanding list columns creates new rows for each element, flattening the structure.

Why this answer

Option A is correct because the 'Expand to New Rows' transform (found under the 'Transform' tab in Power Query) is specifically designed to flatten nested list columns—such as arrays within JSON—by creating a new row for each element in the list. This converts the hierarchical JSON structure into a flat table, which is the required outcome for further analysis in Power BI.

Exam trap

The trap here is that candidates often confuse 'Expand to New Rows' (for lists) with 'Expand to New Columns' (for records), or mistakenly think 'Unpivot Columns' can flatten arrays, when in fact 'Unpivot' only works on record-type columns, not list-type columns.

How to eliminate wrong answers

Option B is wrong because 'Merge Queries' is used to combine two separate tables based on matching keys, not to flatten nested arrays within a single JSON structure. Option C is wrong because 'Pivot Column' transforms unique values from a column into new columns, which would not flatten nested arrays but rather spread data horizontally, creating a wider table. Option D is wrong because 'Unpivot Columns' is used to convert columns into rows (e.g., for normalization), but it operates on record columns, not list columns, and cannot directly expand nested JSON arrays.

145
MCQmedium

You need to create a Power BI data model that includes a date dimension. The source data contains a table with a Date column covering 2015-2025. You want to ensure that all dates in the model have a contiguous range for time intelligence. What should you do?

A.Hide the existing Date column and rely on auto date/time.
B.Add a calculated column for year and month from the existing Date column.
C.Create a calculated column using CALENDAR to generate a continuous date range and use that.
D.Use the existing Date column as the date table and mark it as a date table.
AnswerC

A calculated table using CALENDAR creates a contiguous date range. Then mark it as a date table.

Why this answer

Option C is correct because the CALENDAR function generates a contiguous range of dates, which is essential for accurate time intelligence calculations (e.g., YTD, QoQ). By creating a calculated column with CALENDAR, you ensure no gaps exist in the date dimension, even if the source data has missing dates. This approach allows you to mark the table as a date table and enable DAX time intelligence functions like TOTALYTD or SAMEPERIODLASTYEAR.

Exam trap

The trap here is that candidates often think marking an existing date column as a date table (Option D) is sufficient, but they overlook the requirement for a contiguous range, which is critical for time intelligence to work correctly.

How to eliminate wrong answers

Option A is wrong because relying on auto date/time creates hidden date tables that are not user-defined, cannot be marked as a date table, and may not cover the full contiguous range needed for custom time intelligence. Option B is wrong because adding calculated columns for year and month does not address gaps in the date range; it only extracts parts from existing dates, leaving missing dates unhandled. Option D is wrong because using the existing Date column as the date table without ensuring contiguity can lead to gaps in the date dimension, causing time intelligence functions to return incorrect results or errors.

146
MCQmedium

You are connecting to a SQL Server database using Import mode. The source table contains a column 'SalesAmount' with a few null values. You need to replace nulls with 0 before loading. What is the most efficient step to achieve this in Power Query Editor?

A.Use 'Replace Values' to replace null with 0
B.Use 'Replace Errors' with value 0
C.Use 'Fill Down' to propagate previous values
D.Add a custom column with an if statement
AnswerA

Directly replaces nulls with 0.

Why this answer

Option A is correct because 'Replace Values' can replace null with 0. Option B is incorrect because 'Fill Down' fills with previous non-null value, not 0. Option C is incorrect because 'Transform > Replace Errors' replaces errors, not nulls.

Option D is incorrect because adding a custom column is less efficient.

147
MCQmedium

You need to combine two tables from different sources: 'Orders' from SQL Server and 'Returns' from an Excel file. Both tables have a column named 'OrderID'. You want to include all orders and only matching returns. Which join type should you use in Power Query?

A.Inner Join
B.Right Outer Join
C.Full Outer Join
D.Left Outer Join
AnswerD

Left outer join returns all rows from the first table and matching rows from the second.

Why this answer

In Power Query, a Left Outer Join returns all rows from the first (left) table ('Orders') and only the matching rows from the second (right) table ('Returns'), based on the 'OrderID' column. This matches the requirement to include all orders and only matching returns, ensuring no order is dropped even if it has no corresponding return.

Exam trap

The trap here is that candidates often confuse Left Outer Join with Right Outer Join, mistakenly thinking they need to include all returns instead of all orders, or they default to Inner Join without considering the requirement to preserve unmatched rows from the left table.

How to eliminate wrong answers

Option A is wrong because an Inner Join returns only rows where there is a match in both tables, which would exclude orders without returns. Option B is wrong because a Right Outer Join returns all rows from the right table ('Returns') and only matching rows from the left table ('Orders'), which would include all returns but not all orders. Option C is wrong because a Full Outer Join returns all rows from both tables, including non-matching rows from both sides, which would include returns without orders and is not the requirement.

148
Multi-Selecthard

You have a Power BI dataset that uses DirectQuery to an Azure Synapse Analytics dedicated SQL pool. You need to improve query performance. Which THREE actions should you take?

Select 3 answers
A.Create indexes on columns used in filters
B.Normalize the data warehouse tables
C.Create aggregated tables in the data source
D.Use materialized views
E.Switch the dataset to Import mode
AnswersA, C, D

Indexes improve query performance.

Why this answer

Creating indexes on columns used in filters is correct because DirectQuery translates Power BI filter operations into SQL queries against the Azure Synapse Analytics dedicated SQL pool. Indexes on those columns accelerate row-level filtering by reducing the number of pages scanned, directly improving query response times.

Exam trap

The trap here is that candidates often assume normalizing data always improves performance, but in analytical DirectQuery scenarios, denormalization (star schema) reduces join complexity and is the recommended approach.

149
MCQhard

Refer to the exhibit. The Power Query M code imports a CSV file. The import succeeds, but the 'OrderDate' column shows some dates as null even though they appear valid in the CSV. What is the most likely cause?

A.The date format in the CSV is not recognized by the locale used in the transformation.
B.The 'Filtered Rows' step removes rows where Amount > 0, which may include valid dates.
C.The 'Promoted Headers' step incorrectly changes the data type of the OrderDate column.
D.The 'Replaced Value' step replaces 'null' with null, causing the date to become null.
AnswerA

Type conversion to date may fail if the date string does not match the locale's date format.

Why this answer

Option A is correct because the '#Changed Type' step converts the column to type date, which will fail for any value that is not a valid date, resulting in null. If the CSV contains dates in a non-standard format (e.g., 'MM/dd/yyyy' vs 'dd/MM/yyyy'), the conversion may produce null. Option B is wrong because promoted headers only affect the first row.

Option C is wrong because replacing 'null' with null would not affect dates. Option D is wrong because filtering rows does not affect data types.

150
MCQhard

Refer to the exhibit. You have the above Power Query M expression. You notice that the query is taking a long time to load. You suspect that query folding is not occurring for the filter on the Year column. What is the most likely reason?

A.The Year column is of type datetime, but the filter is an integer.
B.The query uses a native SQL query instead of a table reference.
C.The Year column is stored as text in the database, and Power Query cannot fold the numeric comparison.
D.The data source is using DirectQuery mode, which prevents folding.
AnswerC

If the column is text, the filter 'each [Year] >= 2020' may not fold because the database sees a string comparison. Converting to number might enable folding.

Why this answer

Option C is correct because when the Year column is stored as text in the database, Power Query cannot fold a numeric comparison (e.g., `Year > 2020`) into the source query. Query folding requires data type compatibility between the filter predicate and the source column; a text-to-integer comparison forces Power Query to fetch all rows and apply the filter locally, causing slow performance.

Exam trap

The trap here is that candidates assume any data type mismatch prevents folding, but the key nuance is that Power Query can fold compatible implicit conversions (e.g., datetime to integer for year comparisons) but cannot fold when the source column is text and the filter is numeric, because the engine lacks a safe folding path for that conversion.

How to eliminate wrong answers

Option A is wrong because Power Query can fold comparisons between a datetime column and an integer filter by implicitly converting the integer to a datetime (e.g., interpreting 2020 as a year), so this would not prevent folding. Option B is wrong because using a native SQL query does not inherently prevent folding; in fact, native SQL queries can still be folded if the source supports it, though they may limit further folding steps. Option D is wrong because DirectQuery mode does not prevent folding; in DirectQuery, all query transformations are sent to the source as SQL, so folding is actually maximized, not prevented.

← PreviousPage 2 of 4 · 264 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Prepare the data questions.