Microsoft Fabric Analytics Engineer Associate (DP-600) · 46% practice allocation

Microsoft DP-600: Prepare data Practice Questions

5 free sample questions from the Prepare data domain, with answers and explanations. The full DP-600 bank has 250 questions across 3 domains. Questions are scenario-based and written from the official Microsoft exam guide.

1.

A Fabric data engineer at Wide World Importers is working in a Fabric Lakehouse. A Delta table named RawSales contains a SaleDate column of type string in the format 'YYYY-MM-DD'. Analysts querying the SQL analytics endpoint receive errors when trying to use date functions on SaleDate. What is the correct approach to fix this in a PySpark notebook?

  • A. Use the Visual Query Editor to change the column type, which will modify the underlying Delta table schema
  • B. Rename the column to SaleDateStr and add a new computed column using ALTER TABLE in the SQL analytics endpoint
  • C. Use df.withColumn('SaleDate', col('SaleDate').cast('date')) and overwrite the Delta table✓ Correct
  • D. Create a view on the SQL analytics endpoint that casts SaleDate to DATE using CAST(SaleDate AS DATE)
Explanation

Using PySpark to cast the column to 'date' type and overwriting the Delta table updates the actual schema and stored data, making the column natively usable with date functions via the SQL analytics endpoint. Creating a view that casts the column is a valid workaround but does not fix the underlying table schema; analysts querying the base table directly will still encounter issues. ALTER TABLE for adding computed columns is not supported in the Fabric Warehouse/SQL analytics endpoint in the same way as SQL Server, and renaming the column would break existing queries. The Visual Query Editor does not modify the underlying Delta table schema; it only generates transformation steps for ad-hoc output.

2.

A Fabric analyst is building a star schema inside a Lakehouse. They create a fact table named FactSales and several dimension tables. Which two objects can they create directly inside a Fabric Lakehouse to enforce reusable transformation logic when other analysts query the Lakehouse SQL endpoint? (Select TWO)

  • A. External table over Azure Blob Storage
  • B. Table-valued function✓ Correct
  • C. Stored procedure
  • D. Clustered columnstore index
  • E. View✓ Correct
Explanation

Views and table-valued functions are both supported at the Lakehouse SQL analytics endpoint, allowing analysts to encapsulate reusable transformation and filtering logic that other consumers can query. Stored procedures are supported in Fabric Warehouse but are NOT supported at the Lakehouse SQL analytics endpoint, making this a common misconception. Clustered columnstore indexes are a Warehouse concept; Delta tables in a Lakehouse manage their own Parquet-based file layout and do not support explicit index creation. External tables over Azure Blob Storage are a Warehouse feature (via CREATE EXTERNAL TABLE with OPENROWSET), not natively created inside a Lakehouse through the SQL endpoint.

3.

A Fabric data engineer at Tailwind Traders is using the Visual Query Editor in a Fabric Lakehouse to prepare a product catalog table. Several rows have NULL values in the ProductCategory column. The engineer wants to replace all NULL values with the string 'Uncategorized' without writing any code. Which Visual Query Editor transformation should they apply?

  • A. Change column type
  • B. Remove empty rows
  • C. Filter rows where ProductCategory is not null
  • D. Replace values✓ Correct
Explanation

The 'Replace values' transformation in the Visual Query Editor allows users to specify a value to find (including null) and a replacement value, achieving the desired result without writing code. 'Remove empty rows' deletes rows with nulls rather than replacing the null with a default value. 'Filter rows where ProductCategory is not null' removes those rows entirely instead of filling them. 'Change column type' changes the data type of a column but does not replace null values.

4.

A Fabric data engineer at Datum Corporation is designing a data solution. They need to store and query structured relational data using T-SQL, enforce referential integrity through foreign key constraints, and support concurrent writes from multiple applications. Which Fabric data store should they choose?

  • A. Eventhouse KQL database
  • B. Fabric Lakehouse SQL analytics endpoint
  • C. Fabric Lakehouse with Delta tables
  • D. Fabric Warehouse✓ Correct
Explanation

Fabric Warehouse is the correct choice because it is a fully managed relational data warehouse that supports T-SQL DDL/DML, enforces referential integrity constraints (including foreign keys), and is designed for concurrent transactional writes from multiple applications. A Lakehouse with Delta tables supports T-SQL reads via the SQL analytics endpoint but does not enforce referential integrity or support T-SQL-based concurrent writes natively. An Eventhouse KQL database is optimized for time-series and log analytics using KQL, not relational T-SQL workloads. The Lakehouse SQL analytics endpoint is a read-only T-SQL interface over Delta tables and does not support write operations.

5.

A Fabric data engineer at Relecloud needs to write a DAX measure that calculates the ratio of a product's sales to total sales across ALL products, regardless of any filter applied to the Product dimension in a report visual. The FactSales table has a SalesAmount column. Which DAX measure is correct?

  • A. Sales Ratio = DIVIDE(SUM(FactSales[SalesAmount]), CALCULATE(SUM(FactSales[SalesAmount]), ALLEXCEPT(FactSales, DimProduct)))
  • B. Sales Ratio = DIVIDE(SUM(FactSales[SalesAmount]), CALCULATE(SUM(FactSales[SalesAmount]), KEEPFILTERS(ALL(DimProduct))))
  • C. Sales Ratio = DIVIDE(SUM(FactSales[SalesAmount]), CALCULATE(SUM(FactSales[SalesAmount]), ALL(DimProduct)))✓ Correct
  • D. Sales Ratio = DIVIDE(SUM(FactSales[SalesAmount]), CALCULATE(SUM(FactSales[SalesAmount]), REMOVEFILTERS()))
Explanation

ALL(DimProduct) removes all filters from the DimProduct table, so the denominator computes total sales across all products regardless of any product filter in the visual — this is the classic market share pattern. ALLEXCEPT(FactSales, DimProduct) removes all filters on FactSales EXCEPT those coming from DimProduct, which is the opposite of the desired behavior and would keep the product filter. REMOVEFILTERS() with no arguments removes all filters from all tables, which may inadvertently remove date or other slicer filters, producing an incorrect denominator. KEEPFILTERS(ALL(DimProduct)) is a contradiction — KEEPFILTERS adds constraints while ALL removes them, and the combination does not achieve the desired result.

Test yourself across every DP-600 domain

The free DP-600 practice test mixes about 20 questions weighted like the exam. The full 250-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Prepare data study guide (DP-600) →

Other DP-600 domains

← All Microsoft Fabric Analytics Engineer Associate study resources