DP-600 sample exam questions
15 exam-style questions for Microsoft DP-600: Fabric Analytics Engineer, with answers and explanations. Take them as a timed practice exam first if you want a score out of 1000.
- HOTSPOT
You have a Fabric tenant.
You plan to create a Fabric notebook that will use Spark DataFrames to generate Microsoft Power BI visuals.
You run the following code.

For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.

The code embeds an existing Power BI report. Yes / No The code creates a Power BI report. Yes / No The code displays a summary of the DateFrame. Yes / No Show answer
- The code embeds an existing Power BI report. No
- The code creates a Power BI report. Yes
- The code displays a summary of the DateFrame. No
WhyQuickVisualize from the powerbiclient package, called with get_dataset_config(df), auto-generates a new Power BI report from the DataFrame and renders it in the notebook. It does not embed an existing report (that uses the Report class), and it does not output a statistical summary of the DataFrame as describe() would.
- HOTSPOT
You have a Fabric tenant that contains a warehouse named Warehouse1. Warehouse1 contains three schemas named schemaA, schemaB, and schemaC.
You need to ensure that a user named User1 can truncate tables in schemaA only.
How should you complete the T-SQL statement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

GRANT ___ ALTER / CONNECT / EXECUTE ON ___ DATABASE::schemaA / OBJECT::schemaA / SCHEMA::schemaA Show answer
- GRANT ___ ALTER
- ON ___ SCHEMA::schemaA
WhyTRUNCATE TABLE requires ALTER permission on the table, and granting ALTER ON SCHEMA::schemaA covers every table in schemaA only. CONNECT only allows connecting and EXECUTE runs procedures; DATABASE:: would cover all schemas and OBJECT:: targets a single object, not a schema.
- HOTSPOT
You have an Azure Data Lake Storage Gen2 account named storage1 that contains a Parquet file named sales.parquet.
You have a Fabric tenant that contains a workspace named Workspace1.
Using a notebook in Workspace1, you need to load the content of the file to the default lakehouse. The solution must ensure that the content will display automatically as a table named Sales in Lakehouse explorer.
How should you complete the code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

df.write.mode("overwrite").format("...") csv / delta / parquet .saveAsTable("...") sales / files/sales / tables/sales Show answer
- df.write.mode("overwrite").format("...") delta
- .saveAsTable("...") sales
WhyTables in the lakehouse must be stored in delta format to appear automatically in Lakehouse explorer. saveAsTable takes a table name rather than a folder path, so passing sales creates a managed table with that name.
- You have a Microsoft Power BI semantic model that contains measures. The measures use multiple CALCULATE functions and a FILTER function.
You are evaluating the performance of the measures.
In which use case will replacing the FILTER function with the KEEPFILTERS function reduce execution time?- Awhen the FILTER function uses a nested calculate function
- Bwhen the FILTER function references a measure
- Cwhen the FILTER function references columns from multiple tables
- Dwhen the FILTER function references a column from a single table that uses Import mode
Show answer
Correct answer: D
WhyA FILTER over a single Import-mode column used as a CALCULATE filter can be replaced by a simple predicate wrapped in KEEPFILTERS, which the storage engine applies directly without iterating a table, so it runs faster. When FILTER references measures, nested CALCULATE or columns from several tables, KEEPFILTERS cannot express the same logic as a simple column filter.
- A
- Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question
sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have a Fabric tenant that contains a semantic model named Model1.
You discover that the following query performs slowly against Model1.

You need to reduce the execution time of the query.
Solution: You replace line 4 by using the following code:
ISEMPTY ( RELATEDTABLE ( 'Order Item' ) )
Does this meet the goal?- AYes
- BNo
Show answer
Correct answer: B
WhyISEMPTY(RELATEDTABLE('Order Item')) returns TRUE for customers with no order items, which reverses the original logic (customers whose order item count is greater than zero), so the query returns the wrong customers. The correct optimization is NOT ISEMPTY(CALCULATETABLE('Order Item')).
- A
- You have a Fabric tenant.
You are creating a Fabric Data Factory pipeline.
You have a stored procedure that returns the number of active customers and their average sales for the current month.
You need to add an activity that will execute the stored procedure in a warehouse. The returned values must be available to the downstream activities of the pipeline.
Which type of activity should you add?- ASwitch
- BKQL
- CAppend variable
- DLookup
Show answer
Correct answer: D
WhyA Lookup activity executes the stored procedure against the warehouse and exposes the returned row(s) as activity output that downstream activities can reference. KQL runs Kusto queries, Switch is control flow, and Append variable only adds a value to an array variable.
- A
- You have an Amazon Web Services (AWS) subscription that contains an Amazon Simple Storage Service (Amazon S3) bucket named bucket1.
You have a Fabric tenant that contains a lakehouse named LH1.
In LH1, you plan to create a OneLake shortcut to bucket1.
You need to configure authentication for the connection.
Which two values should you provide? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.- Athe shared access signature (SAS) token
- Bthe secret access key
- Cthe access ID
- Dthe access key ID
- Ethe certificate thumbprint
Show answer
Correct answer: B, D
WhyAn Amazon S3 shortcut connection authenticates with an AWS IAM user's access key ID and secret access key. SAS tokens belong to Azure Storage, and certificate thumbprints or a generic access ID are not used for S3 shortcuts.
- A
- You have a Fabric workspace named Workspace1 that contains a lakehouse named Lakehouse1. Lakehouse1 contains a table named Table1. Table1 contains the following data.

You need to perform the following actions:
• Load the data from Table1 into a star schema.
• Create a product dimension table named DimProduct and a fact table named FactSales.
Which three columns should you include in DimProduct?- AProductColor, ProductID, and ProductName.
- BProductName, SalesAmount, and TransactionlD.
- CDate, ProductID, and TransactionlD.
- DProductID, ProductName, and SalesAmount
Show answer
Correct answer: A
WhyA product dimension holds descriptive attributes of a product: the key ProductID plus ProductName and ProductColor. TransactionID, Date and SalesAmount describe individual sales transactions and belong in the FactSales table.
- A
- You have a Fabric tenant that contains a workspace named Workspace1.
You plan to deploy a semantic model named Model1 by using the XMLA endpoint.
You need to optimize the deployment of Model1. The solution must minimize how long it takes to deploy Model1.
What should you do in Workspace1?- ASelect Small semantic model storage format.
- BSelect Users can edit data models in the Power BI service.
- CSet Enable Cache for Shortcuts to On.
- DSelect Large semantic model storage format.
Show answer
Correct answer: D
WhyThe large semantic model storage format improves XMLA write operation performance and allows models bigger than 10 GB, so XMLA-based deployments of Model1 complete faster. Small format is slower for XMLA writes, and the web editing and shortcut cache settings do not affect deployment time.
- A
- You have a Fabric tenant.
You are creating a Fabric Data Factory pipeline.
You have a stored procedure that returns the number of active customers and their average sales for the current month.
You need to add an activity that will execute the stored procedure in a warehouse. The returned values must be available to the downstream activities of the pipeline.
Which type of activity should you add?- AGet metadata
- BSwitch
- CLookup
- DAppend variable
Show answer
Correct answer: C
WhyA Lookup activity can execute the stored procedure in the warehouse and expose the returned values as output for downstream activities. Get metadata returns file or table metadata, Switch is control flow, and Append variable only modifies an array variable.
- A
- You have a Microsoft Power BI semantic model that contains a measure named TotalSalesAmount. TotalSalesAmount returns a sales revenue amount that is translated into a selected currency.
You need to ensure that the value returned by TotalSalesAmount is formatted to use the correct currency symbol.
What should you include in the solution?- Aa field parameter
- Ba linguistic schema
- Ca dynamic format string
- Dthe WINDOW DAX function
Show answer
Correct answer: C
WhyA dynamic format string for the measure uses a DAX expression to return a format string such as the selected currency's symbol, so the value keeps its numeric type but shows the right symbol. Field parameters switch fields, linguistic schemas serve Q&A, and WINDOW is a calculation function.
- A
- HOTSPOT
You have two Microsoft Power BI queries named Employee and Retired Roles.
You need to merge the Employee query with the Retired Roles query. The solution must ensure that duplicate rows in each query are removed.
Which column and Join Kind should you use in Power Query Editor? To answer, select the appropriate options in the answer area.
NOTE: Each correct answer is worth one point.

Employee column to select in addition to Role ID / Division / Department Number / Division Number Join Kind Left Outer (all from first, matching from second) / Right Outer (all from second, matching from first) / Full Outer (all rows from both) / Inner (only matching rows) / Left Anti (rows only in first) / Right Anti (rows only in second) Show answer
- Employee column to select in addition to Role Division
- Join Kind Left Anti (rows only in first)
WhyRetired Roles is matched on Role then Division, so Employee needs the same two columns in that order. Left Anti keeps only Employee rows with no match, removing retired roles. The wording about duplicates is loose, but this is the join that excludes rows found in both queries.
- You have a Fabric tenant.
You are creating a Fabric Data Factory pipeline.
You have a stored procedure that returns the number of active customers and their average sales for the current month.
You need to add an activity that will execute the stored procedure in a warehouse. The returned values must be available to the downstream activities of the pipeline.
Which type of activity should you add?- AAppend variable
- BScript
- CStored procedure
- DGet metadata
Show answer
Correct answer: B
WhyWithout a Lookup option, the Script activity is the choice: it can run a query or EXEC the stored procedure against the warehouse and returns result sets in its output for downstream activities. The Stored procedure activity runs the procedure but does not return its result set, and Get metadata and Append variable do not execute procedures.
- A
- You have a Fabric workspace named Workspace1 that is assigned to a newly created Fabric capacity named Capacity1.
You create a semantic model named Model1 and deploy Model1 to Workspace1.
You need to publish changes to Model1 directly from Tabular Editor.
What should you do?- AFor Workspace1, enable Git integration.
- BFor Model1, enable external sharing.
- CFor Workspace1, create a managed private endpoint.
- DFor Capacity1, set XMLA Endpoint to Read Write.
Show answer
Correct answer: D
WhyTabular Editor writes changes to a published model through the XMLA endpoint, which needs read-write access, so set XMLA Endpoint to Read Write in the Power BI workload settings of Capacity1. Git integration, external sharing and managed private endpoints do not enable XMLA writes.
- A
- DRAG DROP
You have Fabric tenant that contains a semantic model named Model1. Model1 contains the following tables.

You are designing a Microsoft Power BI report named Report1 that will deliver near-real-time (NRT) shipping data. Report1 will contain data about many shipped packages.
You need to ensure that each table is in the appropriate storage mode to support Report1. The solution must support near-real-time data delivery while maintaining high query performance.
Which storage mode should you select for each table? To answer, drag the appropriate storage modes to the correct tables. Each mode may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.

Move each item to the matching row:
- DirectQuery
- Dual
- Hybrid
- Import
- FactPackageEvents:
- DimPackage:
- DimCarrier:
Show answer
- FactPackageEvents: DirectQuery
- DimPackage: Dual
- DimCarrier: Dual
WhyDirectQuery keeps the large fact table current for near-real-time reporting. Dual dimensions can answer slicer queries from cache and join efficiently with the DirectQuery fact table, which keeps queries fast and avoids weak relationships. Import dimensions would be weakly related to the fact table and perform worse.