Microsoft

DP-600 Free Practice Questions

This is the free Microsoft DP-600 practice question bank — 110 of 204 total questions, each with a full explanation, free to read with no signup required. Updated 2026-08-05.

Every answer is verified against official Microsoft documentation — see our methodology.

Question 1

You have a Fabric workspace named Workspace1 that contains the following items: • A warehouse named Warehouse1 • A semantic model named Model1 • An interactive report named Report1 You need to allow a user named User1 to access a single table in Warehouse1. The solution must follow the principle of least privilege. What should you do first?

A. Assign the Viewer role to User1 for Workspace1.
B. Share Warehouse1 with User1.
C. Assign object-level permissions to User1 for Warehouse1.
D. Assign the db_datareader role to User1 for Warehouse1.
Show Answer
Correct Answer: B
Explanation:
To grant access to a single table in a Fabric warehouse, the user must first be granted access to the warehouse itself. Sharing the warehouse gives the user the basic permission needed to connect. After that, object-level permissions (such as GRANT SELECT on a specific table) can be assigned to restrict access to only the required table, satisfying least privilege. Workspace Viewer grants broader access than necessary, db_datareader grants access to all tables, and object-level permissions alone are not sufficient before the user has access to the warehouse.

Question 2

You have a Fabric tenant that contains a semantic model named Model1. Model1 contains a fact table named FactSales. FactSales has a relationship to a dimension table named DimDate on a column named OrderDate. To FactSales, you add a second relationship between FactSales and DimDate based on a column named ShippedDate. You need to filter by using ShippedDate in a new report. The solution must NOT affect the function of existing reports. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct answer is worth one point.

A. Enable the ShippedDate relationship.
B. Use a RELATEDTABLE DAX function.
C. Use a CROSSFILTER DAX function.
D. Use a USERELATIONSHIP DAX function.
E. Disable the ShippedDate relationship between the tables.
Show Answer
Correct Answer: D, E
Explanation:
To avoid changing existing report behavior, the new ShippedDate relationship should remain inactive (disabled). Existing reports continue using the active OrderDate relationship. For new calculations that must filter by ShippedDate, create measures that use the USERELATIONSHIP DAX function to temporarily activate the inactive relationship during evaluation. RELATEDTABLE and CROSSFILTER do not address this requirement, and enabling the ShippedDate relationship would alter the model's active relationship behavior.

Question 3

You have a Microsoft Power BI semantic model that contains a table named Date. Date contains the following data. You need to ensure that the visuals that use the Date table appear in chronological order. The solutions must minimize administrative effort. What should you do?

A. Sort the Month Number column by Column.
B. Sort the visuals by using the Sort ascending option on Fiscal Month.
C. Sort the Fiscal Month column by Column.
D. Sort the Date table by Column.
Show Answer
Correct Answer: C
Explanation:
To make month names (such as Fiscal Month) appear in chronological rather than alphabetical order across all visuals with minimal administration, configure the Fiscal Month column to be sorted by the numeric month-order column (for example, Month Number) using Sort by column. This defines the ordering once in the semantic model and applies wherever that column is used.

Question 4

You have a Fabric workspace named Workspace1 that contains a semantic model and a report named Report1. Workspace1 is connected to a Git repository named Git1. You have a deployment pipeline that contains three stages named Development, Test, and Production. You need to publish Report1 to the Production stage. What should you do?

A. Run a Git commit.
B. Run a full deployment.
C. Sync Workspace1 with Git1.
D. Run a backward deployment.
Show Answer
Correct Answer: B
Explanation:
The Production stage of a Fabric deployment pipeline is populated by deploying content through the pipeline. A full deployment promotes all supported items from Development through Test to Production. Git operations (commit or sync) manage source control, not deployment pipeline stages, and a backward deployment moves changes in the opposite direction.

Question 5

You have a Fabric workspace named Workspace1 and a user named User1. You need to ensure that User1 can perform the following tasks in Workspace1: • Create dashboards. • Publish semantic models. • Create and publish reports. The solution must follow the principle of least privilege. Which workspace role should you assign to User1?

A. Contributor
B. Member
C. Viewer
D. Admin
Show Answer
Correct Answer: A
Explanation:
Contributor can create and publish reports, publish semantic models, and create dashboards within the workspace. Member and Admin grant broader permissions (such as managing workspace content and users), while Viewer is read-only. Therefore, Contributor satisfies the required tasks with the least privilege.

Question 6

You are designing a Fabric semantic model named Model1 for a financial analytics workspace. Model1 includes a DAX measure named Measure1 that returns total sales. You have a table named Currency that contains a column named Format. The Format column defines currency formatting strings for each record as follows: $#, ##0.00, €#, ##0.00, OR ¥#,##0.00. You have a report that uses the Currency column to identify which symbol and format string to display. In the report, Measure1 must appear with two decimal places and the appropriate currency symbol based on the selected value in the Currency column. You create the following DAX formula. FORMAT = SELECTEDVALUE( ‘Currency’ [Format]) You need to ensure that Measure appears correctly in visuals. The solution must minimize logic duplication. What should you do?

A. Create a dynamic format string for Measure1 that references the FORMAT measure.
B. For Model1, set the data category of Measure1 to Country/Region.
C. For Model1, set the format type of Measure1 to Currency.
D. Copy the DAX expression from the Format column and paste the expression into the format string expression of Measure1.
Show Answer
Correct Answer: A
Explanation:
Dynamic format strings allow a measure to retain its numeric data type while changing its display format based on filter context. By creating a format string expression for Measure1 that references the existing FORMAT measure (which returns the selected format string), the measure displays the appropriate currency symbol and two decimal places without duplicating the formatting logic. The other options either use static formatting or duplicate the expression.

Question 7

You have an Azure SQL database named DB1 and a Fabric workspace named Workspace1. Workspace1 contains a lakehouse named LH1 and a Dataflow Gen2 named Dataflow1. Dataflow1 includes a query named Query1 that loads data from DB1, applies transformations to the data, and then filters the data. You discover that Query1 loads all the data before applying the transformations. You need to ensure that Query1 uses query folding. What should you do?

A. Remove unused columns from Query1.
B. Enable incremental refresh for Query1.
C. Replace DB1 with a Microsoft SQL Server database.
D. Move the filter steps before the transformation steps in Query1.
Show Answer
Correct Answer: D
Explanation:
Query folding pushes supported operations back to the source database. If a non-foldable transformation occurs before a filter, folding is broken and the filter is applied after all data is loaded. Moving the filter before the transformation steps allows the filter to be folded into the source query, reducing the data retrieved. Removing unused columns can help performance but does not necessarily restore folding, incremental refresh is unrelated, and Azure SQL Database already supports query folding similarly to SQL Server.

Question 8

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.

Illustration for DP-600 question 8 Illustration for DP-600 question 8
Show Answer
Correct Answer: FactPackageEvents: Hybrid DimPackage: Dual DimCarrier: Dual
Explanation:
Use Hybrid for the large fact table to combine imported historical data with DirectQuery for the latest near-real-time data. Set related dimension tables to Dual so they can behave as Import for high-performance queries and as DirectQuery when joining to the DirectQuery portion of the hybrid fact table.

Question 9

You have a Fabric workspace named Workspace1. You have a GitHub repository named Repo1. You need to connect Workspace1 to the main branch of Repo1. Which information should you provide?

A. a shared access signature (SAS) token and the branch name of Repo1
B. a personal access token (PAT) and the URL of Repo1
C. an access key and the branch name of Repo1
D. an access key and the URL of Repo1
Show Answer
Correct Answer: B
Explanation:
To connect a Microsoft Fabric workspace to a GitHub repository for Git integration, you authorize with a GitHub personal access token (PAT) and specify the repository URL. The branch (such as main) is then selected from the repository; an access key or SAS token is not used for GitHub integration.

Question 10

DRAG DROP - You have Fabric tenant that contains four workspaces named Development, Test, QA, and Production. All the workspaces are in Premium Per User (PPU) license mode. You plan to use a release pipeline to support the development lifecycle from Development to Production. Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.

Illustration for DP-600 question 10
Show Answer
Correct Answer: Create a deployment pipeline. Create the QA stage. Assign workspaces.
Explanation:
Deployment pipelines support PPU workspaces. A new pipeline starts with the default stages, and an additional QA stage can be added before assigning the corresponding workspaces to each stage. Moving to Pro is unnecessary, and deployment rules are optional, not required.

$19

Get all 204 questions with detailed answers and explanations

  • Instant download HTML + PDF delivered the moment payment clears.
  • Secure Stripe checkout we never see or store your card details.
  • 7-day refund if files are defective see our refund policy.