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.

  1. Question 1Hotspot
    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
    Why

    QuickVisualize 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.

  2. Question 2Hotspot
    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
    Why

    TRUNCATE 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.

  3. Question 3Hotspot
    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
    Why

    Tables 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.

  4. Question 4Single choice
    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?
    1. A
      when the FILTER function uses a nested calculate function
    2. B
      when the FILTER function references a measure
    3. C
      when the FILTER function references columns from multiple tables
    4. D
      when the FILTER function references a column from a single table that uses Import mode
    Show answer

    Correct answer: D

    Why

    A 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.

  5. Question 5Single choice
    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?
    1. A
      Yes
    2. B
      No
    Show answer

    Correct answer: B

    Why

    ISEMPTY(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')).

  6. Question 6Single choice
    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?
    1. A
      Switch
    2. B
      KQL
    3. C
      Append variable
    4. D
      Lookup
    Show answer

    Correct answer: D

    Why

    A 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.

  7. Question 7Multiple response
    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.
    1. A
      the shared access signature (SAS) token
    2. B
      the secret access key
    3. C
      the access ID
    4. D
      the access key ID
    5. E
      the certificate thumbprint
    Show answer

    Correct answer: B, D

    Why

    An 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.

  8. Question 8Single choice
    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?
    1. A
      ProductColor, ProductID, and ProductName.
    2. B
      ProductName, SalesAmount, and TransactionlD.
    3. C
      Date, ProductID, and TransactionlD.
    4. D
      ProductID, ProductName, and SalesAmount
    Show answer

    Correct answer: A

    Why

    A 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.

  9. Question 9Single choice
    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?
    1. A
      Select Small semantic model storage format.
    2. B
      Select Users can edit data models in the Power BI service.
    3. C
      Set Enable Cache for Shortcuts to On.
    4. D
      Select Large semantic model storage format.
    Show answer

    Correct answer: D

    Why

    The 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.

  10. Question 10Single choice
    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?
    1. A
      Get metadata
    2. B
      Switch
    3. C
      Lookup
    4. D
      Append variable
    Show answer

    Correct answer: C

    Why

    A 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.

  11. Question 11Single choice
    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?
    1. A
      a field parameter
    2. B
      a linguistic schema
    3. C
      a dynamic format string
    4. D
      the WINDOW DAX function
    Show answer

    Correct answer: C

    Why

    A 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.

  12. Question 12Hotspot
    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 RoleID / Division / Department Number / Division Number
    Join KindLeft 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)
    Why

    Retired 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.

  13. Question 13Single choice
    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?
    1. A
      Append variable
    2. B
      Script
    3. C
      Stored procedure
    4. D
      Get metadata
    Show answer

    Correct answer: B

    Why

    Without 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.

  14. Question 14Single choice
    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?
    1. A
      For Workspace1, enable Git integration.
    2. B
      For Model1, enable external sharing.
    3. C
      For Workspace1, create a managed private endpoint.
    4. D
      For Capacity1, set XMLA Endpoint to Read Write.
    Show answer

    Correct answer: D

    Why

    Tabular 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.

  15. Question 15Drag and drop
    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
    Why

    DirectQuery 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.