Microsoft Fabric Analytics Engineer Associate (DP-600)

Use this DP-600 practice test to prepare for the Microsoft Fabric Analytics Engineer Associate exam. Original questions are grounded in verified Microsoft Learn content, with explanations and source links for focused revision. This practice set follows the English-language DP-600 exam outline effective October 19, 2026.

Q001 - Question

A workspace contains a lakehouse, a warehouse, and several reports. A business stakeholder needs access to one report only. You must not grant access to the other items in the workspace. What should you configure?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

D is correct.

Explanation: Workspace roles apply to all items in a workspace and should be reserved for collaboration. For more granular access control, use item-level permissions based on business needs. Item-level permissions on the report limit access to that item.

A is incorrect: The viewer role is a workspace role. Workspace roles apply to all items in the workspace, so it does not limit access to one report.

B is incorrect: The contributor role is a workspace role that applies to all items. It is meant for collaboration, not for single-item access.

C is incorrect: The member role is a workspace role that applies to all items. It is meant for collaboration, not for single-item access.

Learn more in Microsoft Learn

Q002 - Question

Analysts at a retail organization each write their own T-SQL joins and filters against FactSales and DimCustomer. Their results conflict. You want one reusable T-SQL starting point that analysts reference like a table. Copilot and Fabric IQ data agents must also be able to query it. What should you create in the warehouse?

Domain: Prepare data (45–50%) Type: Single choice

D is correct.

Explanation: A view defines a saved query that you reference like a table. You can use views to combine fact and dimension tables into a reporting-friendly format and to filter rows to a business context. Copilot and Fabric IQ data agents can query views like tables, and well-named views improve the accuracy of natural language queries.

A is incorrect: Separate saved queries per analyst keep the join and filter logic duplicated. They do not standardize access.

B is incorrect: The Visual query editor provides a no-code way to build queries. Separate visual queries per analyst do not create a shared object that analysts reference like a table.

C is incorrect: Stored procedures contain T-SQL logic that you execute on demand, such as loading staging data into final tables. They are not objects that you reference like a table.

Learn more in Microsoft Learn

Q003 - Question

An analyst has written KQL queries in a KQL queryset against tables in an Eventhouse. Operations staff need a single visual interface where each tile shows a different result from those queries and can be explored interactively after it is published. What should the analyst do?

Domain: Prepare data (45–50%) Type: Single choice

C is correct.

Explanation: A Real-Time Dashboard pins visualizations to a single visual interface. Each tile is based on a KQL query that extracts data from tables in an eventhouse. You can create a dashboard directly from a KQL queryset. After you publish it, users can drill into the data, filter and aggregate it, and change the visualization type.

A is incorrect: Activator rules trigger actions when conditions are met. They do not provide a tiled interface for exploring query results.

B is incorrect: A derived stream is an eventstream destination that routes stream data. It does not display query results in tiles.

D is incorrect: Subscribing to Fabric events in the Real-Time hub makes system events available. It does not visualize the results of KQL queries.

Learn more in Microsoft Learn

Q004 - Question

Your organization stores files in Azure Data Lake Storage. A data engineer must make these files available in a Fabric lakehouse in OneLake without copying them. Which data path should the engineer use?

Domain: Prepare data (45–50%) Type: Single choice

C is correct.

Explanation: Shortcuts reference data in external locations such as Azure Data Lake Storage without copying it. The data stays in the source and appears in OneLake.

A is incorrect: Mirroring continuously replicates changes from external databases such as Azure SQL, Cosmos DB, or Snowflake. It does not reference files in Azure Data Lake Storage in place.

B is incorrect: Pipelines orchestrate batch data movement and transformation. This approach moves data instead of referencing it.

D is incorrect: Direct upload adds files through the Fabric interface. This approach creates a separate copy of the files.

Learn more in Microsoft Learn

Q005 - Question

An operations analyst discovers a KQL table in Real-Time hub that stores sensor readings. The analyst needs a visual display of the readings that is based on the data in the table. Which action should the analyst take?

Domain: Prepare data (45–50%) Type: Single choice

A is correct.

Explanation: For a discovered KQL table, you can query data directly with a KQL queryset, create real-time dashboards, or set alerts on query results. A real-time dashboard meets the need for a visual display of the readings.

B is incorrect: Shortcuts are an option for eventstreams that send data to a lakehouse. A shortcut does not create a visual display.

C is incorrect: Alerts with Fabric Activator notify you about conditions. They do not display the readings, and the scenario starts from a KQL table, not an eventstream.

D is incorrect: The OneLake catalog helps you find data that is already stored, such as lakehouses, warehouses, and semantic models. Use Real-Time hub to discover streaming data.

Learn more in Microsoft Learn

Q006 - Question

A Fabric administrator must enable Microsoft Fabric for a pilot team only, not for the whole organization. The administrator also wants other users to be able to manage this setting for their own capacity. Which two actions should the administrator take? Select two.

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

B and D are correct.

Explanation: Admins can enable Fabric in the Admin portal > Tenant settings in the Power BI service. They can enable it for the entire organization or for specific Microsoft 365 or Microsoft Entra security groups. Admins can also delegate this ability to other users at the capacity level.

A is incorrect: License type is a workspace setting that lets you use Fabric features in that workspace. It does not enable Fabric for the tenant.

C is incorrect: The Copilot tenant setting controls Copilot in Fabric. It does not enable Fabric for a group.

Learn more in Microsoft Learn

Q007 - Question

Your team has Delta tables in a Fabric lakehouse. You need to join them with tables in a Fabric data warehouse in a single T-SQL query. You must not copy the lakehouse data. Which approach should you use?

Domain: Prepare data (45–50%) Type: Single choice

C is correct.

Explanation: Cross-database querying lets you query data across warehouses and lakehouses without copying data. You use three-part naming to join warehouse tables with lakehouse tables in one query.

A is incorrect: COPY INTO bulk loads data from external files, such as CSV or Parquet files in Azure storage, into warehouse tables. It copies data, which does not meet the requirement.

B is incorrect: A SQL analytics endpoint provides read-only SQL access to lakehouse data. It does not support INSERT, UPDATE, DELETE, or MERGE, so you cannot write results back through it.

D is incorrect: Dataflow Gen2 supports orchestrated data movement and transformation, but a nightly copy duplicates the data. Cross-database querying avoids that copy.

Learn more in Microsoft Learn

Q008 - Question

You must share one Fabric warehouse with a downstream analyst. The analyst must connect by using the SQL analytics endpoint and read data from any table or view in the warehouse. The analyst must not receive access to the entire workspace or to raw parquet files in OneLake. Which two item permissions should you grant? Select two.

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

A and C are correct.

Explanation: Read allows the user to connect by using the SQL analytics endpoint. A connection fails without at least Read permission. ReadData allows the user to read data from any table or view in the warehouse. Item permissions share an individual warehouse without granting access to the entire workspace.

B is incorrect: ReadAll allows the user to read raw parquet files in OneLake. The requirements exclude that access.

D is incorrect: The Admin role gives full control at the workspace level. It grants more access than the analyst needs, and item permissions are the way to share a single warehouse.

Learn more in Microsoft Learn

Q009 - Question

A data governance lead needs to review the governance status of data in Microsoft Fabric. The lead wants guidance on sensitivity labels, item metadata, and data refresh status, and wants suggested actions for improvement. Which capability should the lead use?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

C is correct.

Explanation: The OneLake catalog helps you analyze, monitor, and maintain data governance. It provides guidance on sensitivity labels, item metadata, and data refresh status, offering insights into the governance status and actions for improvement.

A is incorrect: The Admin portal manages groups and permissions, configures data sources and gateways, and monitors usage and performance. It is not the capability described for sensitivity label and refresh status guidance.

B is incorrect: Git integration provides version control. It tracks changes and keeps a history of your work, but it does not report governance status.

D is incorrect: Shortcuts provide access to existing data without copying it. They do not report on governance status.

Learn more in Microsoft Learn

Q010 - Question

A governance lead is documenting how endorsement works for items in the OneLake catalog. Which two statements are correct? (Select two.)

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

A and C are correct.

Explanation: Promoted means an item is ready for others to use, and any user with write permissions can apply it. Certified means an item meets organizational quality standards, and only authorized reviewers can apply it.

B is incorrect: Certified is restricted to authorized reviewers. Write permission alone does not allow a user to apply it.

D is incorrect: Master data identifies an authoritative source for core business data. Only authorized reviewers can apply it, and it applies to data items only.

Learn more in Microsoft Learn

Q011 - Question

A logistics team receives a continuous stream of temperature readings from sensors. Each reading has a timestamp. The team needs dashboards that show current values alongside historical trends. It also needs alerts when readings are anomalous, and it wants to use time-series functions in the query language. Which data store should the team use for the incoming data?

Domain: Prepare data (45–50%) Type: Single choice

D is correct.

Explanation: An eventhouse is designed for real-time analytics on streaming and time-series data. Its data is indexed and partitioned by ingestion time. KQL provides built-in time-series functions such as make-series and series_decompose_anomalies. Power BI integration supports low-latency dashboards.

A is incorrect: A warehouse handles batch and micro-batch loading. It is not purpose-built for streaming ingestion where data must be queryable within seconds.

B is incorrect: A lakehouse processes data in batch or micro-batch patterns. It is not the store built for streaming data with subsecond latency.

C is incorrect: SQL database in Fabric is for operational transactional workloads. It is not an analytical data store for streaming time-series analysis.

Learn more in Microsoft Learn

Q012 - Question

An orders DataFrame contains one row for each order. Analysts need each order to show its sequence number for the customer and a running total of amount for that customer, ordered by order_date. Every individual order row must remain in the result. Which transformation should the team use?

Domain: Prepare data (45–50%) Type: Single choice

D is correct.

Explanation: Window functions such as ROW_NUMBER() and SUM() OVER calculate values across related rows without collapsing the data. PARTITION BY customer_id defines the rows for each customer, and ORDER BY order_date sets the sequence within each partition. The original row count stays the same.

A is incorrect: GROUP BY collapses the detail rows into one row for each customer. The individual order rows would no longer be in the result.

B is incorrect: A pivot reshapes rows into columns for cross-tabulation, such as one column for each quarter. It does not calculate a sequence number or a running total for each order.

C is incorrect: An inner join adds columns from the customers table to matching rows and excludes rows without a match. It does not calculate a sequence number or a running total.

Learn more in Microsoft Learn

Q013 - Question

A team writes a curated sales fact table of about 300 GB to a lakehouse as a Delta table. Queries sometimes filter on year and month. A developer proposes partitioning the table when it is written. Which decision follows the partitioning guidelines for Delta tables in Fabric?

Domain: Prepare data (45–50%) Type: Single choice

B is correct.

Explanation: Partition a table when it exceeds 1 TB and queries frequently filter on the partition column. For most tables under 1 TB, skip partitioning. Spark and Delta handle these table sizes efficiently without it, and partitioning can reduce performance for smaller tables.

A is incorrect: customer_id is a high-cardinality column. Partitioning on it creates too many small files, which slows queries.

C is incorrect: Year and month are common partition columns, but the table is about 300 GB. Filtering on those columns does not meet the 1 TB threshold. Each partition should also be at least 1 GB.

D is incorrect: Adding customer_id makes the partitioning high-cardinality and creates many small files. Partitioning does not target file size in the way this option assumes.

Learn more in Microsoft Learn

Q014 - Question

You are designing a sales fact table. Analysts must be able to break down sales by individual product and by individual customer. Before you choose dimension keys and measures, you must define the grain. Which grain should you use?

Domain: Prepare data (45–50%) Type: Single choice

C is correct.

Explanation: The grain specifies what one row in the fact table represents. One row per sales order line item keeps the detail needed to analyze sales by individual product and customer. This grain also determines which dimension keys belong in the table, such as customer, product, date, and salesperson.

A is incorrect: A daily total is too high-level. If you store daily totals instead of order lines, you cannot later break down sales by individual products or customers.

B is incorrect: Category-by-month rows lose product-level and customer-level detail. You cannot recover that detail later from the summarized rows.

D is incorrect: A yearly row per customer removes product detail and order-level detail. It does not support the required product breakdown.

Learn more in Microsoft Learn

Q015 - Question

A data engineering team manages curated Delta tables in a lakehouse. A SQL-first BI team uses a warehouse and must use that lakehouse data in its work. The requirement is that the data is not duplicated or moved. Which two approaches meet the requirement? Select two.

Domain: Prepare data (45–50%) Type: Multi-select

B and D are correct.

Explanation: All three analytical data stores write data to OneLake, so data does not need to be copied between them. A shortcut lets a warehouse reference Delta tables that a lakehouse manages without duplicating them. A cross-database query in the warehouse can join data from lakehouse SQL analytics endpoints by using three-part naming.

A is incorrect: A nightly pipeline copy creates a second copy of the data. The requirement is that the data is not duplicated.

C is incorrect: An eventstream routes events to destinations such as an eventhouse or a lakehouse. It does not give a warehouse access to existing lakehouse tables.

Learn more in Microsoft Learn

Q016 - Question

A Dataflow Gen2 refresh is slow. One query is a lookup table that is used only in a merge. It does not need to be loaded to the destination. Another query reads a large source table and has many unneeded columns and rows. Which two actions should you take to reduce processing? Select two.

Domain: Prepare data (45–50%) Type: Multi-select

B and D are correct.

Explanation: Deselecting Enable load on a staging or reference query prevents it from loading to the destination, which reduces processing time. Filtering rows and selecting columns early means every later transformation processes less data.

A is incorrect: Row filters should be applied as the first steps in a query. Filtering last means the earlier steps process all rows.

C is incorrect: Steps marked Enable only in previews run during preview and authoring validation. They are excluded from refresh, so the filter would not reduce the data processed in production.

Learn more in Microsoft Learn

Q017 - Question

A salesperson dimension uses Type 2 tracking for the sales region attribute. A salesperson moves to a new region, and the ETL process must record the change. Which two actions should the ETL process perform? Select two.

Domain: Prepare data (45–50%) Type: Multi-select

B and D are correct.

Explanation: A Type 2 change expires the existing current row by setting its end date and changing the current flag to FALSE. The process then inserts a new row with the new attribute values, a new surrogate key, the start date set to the change date, and the current flag set to TRUE. Each version keeps its own surrogate key, so you can report sales by the region the salesperson was assigned to at the time of each sale.

A is incorrect: Overwriting the value is a Type 1 change. It keeps no history, and all past sales then appear under the new region.

C is incorrect: Adding a column for the previous value is a Type 3 change. It tracks only the most recent change and loses intermediate changes, so it does not provide full history.

Learn more in Microsoft Learn

Q018 - Question

A sales fact table must support a discount percentage that is correct at any level of aggregation, such as by product, by month, or for the whole company. Which design should you use?

Domain: Prepare data (45–50%) Type: Single choice

A is correct.

Explanation: A ratio is a non-additive measure and cannot be summed meaningfully across any dimension. Store the underlying values, discount amount and sales revenue, so the ratio can be computed correctly at any level of aggregation.

B is incorrect: A discount percentage is non-additive. Summing it across rows or dimensions gives results that are not meaningful.

C is incorrect: Removing the other measures does not solve the aggregation problem. A percentage alone still cannot be aggregated correctly, and the underlying values are no longer available.

D is incorrect: Attributes in a fact table, sometimes called degenerate dimensions, describe an event, such as order numbers or tracking codes. They are not a way to make a ratio aggregate correctly.

Learn more in Microsoft Learn

Q019 - Question

A data engineer builds a Fabric notebook that transforms sales data in a lakehouse. The notebook must also read dimension tables that a separate SQL team manages in a Fabric warehouse. The engineer wants to read the dimension tables directly from the notebook. Which approach should the engineer use?

Domain: Prepare data (45–50%) Type: Single choice

C is correct.

Explanation: A notebook reads warehouse tables by using cross-database queries with three-part naming (warehouse.schema.table). This fits reading dimension tables that a SQL team manages, and it does not require you to copy the data first.

A is incorrect: You pin a lakehouse, not a warehouse, as the default. The default lakehouse sets the Hive metastore context for Spark SQL queries on lakehouse tables.

B is incorrect: The KQL connector or Spark connector for Kusto connects to KQL databases, for example to write processed events for real-time analytics. It does not read warehouse tables.

D is incorrect: JDBC and other Spark connectors are for sources outside Fabric. The warehouse is a Fabric data store that you reach with three-part naming.

Learn more in Microsoft Learn

Q020 - Question

Your organization stores raw sales data in Delta tables in a lakehouse and in staging tables in a Fabric warehouse. A data engineer must write T-SQL that transforms the data and persists the results by using INSERT and UPDATE statements. Which approach meets the requirement?

Domain: Prepare data (45–50%) Type: Single choice

B is correct.

Explanation: A warehouse provides full read-write T-SQL capabilities. You can run INSERT and UPDATE statements in a warehouse and persist the transformation results.

A is incorrect: The SQL analytics endpoint of a lakehouse exposes Delta tables for querying and analysis only. It is read-only, so it cannot persist the results.

C is incorrect: The Visual Query Editor generates T-SQL, but it still runs against a read-only SQL analytics endpoint. The editor does not make the endpoint writable.

D is incorrect: SSMS is an external tool that connects through the T-SQL connection string. The connection method does not change the read-only behavior of the lakehouse SQL analytics endpoint.

Learn more in Microsoft Learn

Q021 - Question

A semantic model has a relationship between the Sales table and the Product table. The Product table is on the one-side of the relationship. You must add a Discount Amount column to the Sales table. For each sales row, the value is Order Quantity multiplied by the product List Price, minus Sales Amount. The logic must use a value from a related table. Which approach should you use?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

C is correct.

Explanation: A calculated column is evaluated in row context, which is the current row of the Sales table. Because a relationship exists, the RELATED function gets the List Price value from the one-side Product table for each sales row. RELATED usually works faster than LOOKUPVALUE.

A is incorrect: LOOKUPVALUE is intended for tables that have no relationship. A relationship exists here, and RELATED usually works faster.

B is incorrect: RELATEDTABLE returns a table of values from the many-side. The formula needs a single List Price value for each row, and a calculated column formula must return a single value.

D is incorrect: A measure can't reference a column directly. It also doesn't add a column to the Sales table, and a measure is evaluated in filter context at query time.

Learn more in Microsoft Learn

Q022 - Question

A team is designing a semantic model in Microsoft Fabric. The large Sales fact table is stored in a lakehouse. A small currency reference table comes from a third-party API outside Fabric. The model must combine both sources for cross-source analysis, and the team wants to keep the fact table in Direct Lake. Which storage mode design should the team choose?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

C is correct.

Explanation: Composite mode combines storage modes in one model. You need it here because the model uses data from both Fabric and a non-Fabric source. The large fact table can stay in Direct Lake and the small external reference table can use Import. Configure the storage mode for each table and verify that the cross-source relationship performs acceptably at your expected data volumes.

A is incorrect: Direct Lake reads Delta tables from OneLake. A reference table from a third-party API outside Fabric is not a Delta table in OneLake, so Direct Lake alone does not cover this requirement.

B is incorrect: DirectQuery sends a query to the source for every report interaction. That adds query load and does not keep the fact table in Direct Lake, which the team wants.

D is incorrect: Import copies all data into the model, and the data is only as current as the last refresh. This removes the Direct Lake behavior the team wants for the fact table and requires scheduled refresh.

Learn more in Microsoft Learn

Q023 - Question

Before every deployment, your team must automatically check a published semantic model for orphaned foreign keys and confirm that the Total Revenue measure returns a known value for 2024. The check must run the same way each time. The XMLA endpoint is enabled for the workspace. Which approach should you use?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

D is correct.

Explanation: The evidence supports D because SemPy connects to the semantic model through the XMLA endpoint. The list_relationship_violations() function finds foreign key values that have no matching primary key value. The evaluate_measure() function returns measure results that you can compare to a known value. You can run the same notebook before every deployment for automated, repeatable validation.

A is incorrect: DAX Studio is useful for interactive DAX queries and real-time feedback. It does not provide the scripted, repeatable validation that this requirement needs, and it does not check relationship violations.

B is incorrect: ALM Toolkit compares schemas between two models. It does not check data for orphaned keys or evaluate a measure against an expected value.

C is incorrect: Version control tracks changes but does not verify that the model is correct. Commit history does not show whether keys match or whether a measure returns the expected result.

Learn more in Microsoft Learn

Q024 - Question

Report authors use the Sales Amount column in matrix visuals that group by fiscal year and month. The column summarizes with Sum by default. Authors now need to show each month's sales amount as a ratio of the yearly sales amount. What should you do?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

A is correct.

Explanation: Implicit measures summarize column values by using a single aggregation function. They can't handle more complex calculations. A ratio of monthly sales to yearly sales requires an explicit measure that is defined with a DAX formula.

B is incorrect: The Sum default is a single aggregation function. It can't produce a month-to-year ratio, and it leaves the calculation to each report author.

C is incorrect: Don't summarize removes the sigma symbol and the default summarization. It doesn't create the ratio calculation.

D is incorrect: Average is still a single aggregation function. It returns the average of the values, not the ratio of monthly sales to yearly sales.

Learn more in Microsoft Learn

Q025 - Question

A team is preparing a new Direct Lake semantic model for production in Microsoft Fabric. Some report visuals use complex DAX calculations. The team does not yet know which queries cannot run in Direct Lake mode. Which fallback approach should the team use at first?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

B is correct.

Explanation: For most production workloads, start with fallback allowed. Queries that cannot run in Direct Lake mode fall back to DirectQuery and still return results, although performance might decrease. Monitor which queries trigger fallback, then optimize those queries or data structures to reduce how often it occurs.

A is incorrect: Disallow fallback only when all query patterns stay within Direct Lake limits. The team does not know its query patterns yet, so unsupported queries would return errors to users.

C is incorrect: DirectQuery sends every report interaction to the source system. It does not provide the Direct Lake behavior the team chose, and the evidence does not show a need to leave Direct Lake.

D is incorrect: Import mode makes data only as current as the last refresh. Disabling scheduled refresh would leave the data stale. Move away from Direct Lake only when a specific scenario requires it.

Learn more in Microsoft Learn

Q026 - Question

An Import model contains a fact table with an OrderNumber column. The column stores text values with a prefix, such as "SO123456". Users need to filter and drill through by order number, so you cannot remove the column. Users do not need the prefix. You want to reduce the storage and query cost of this column. What should you do?

Domain: Prepare data (45–50%) Type: Single choice

D is correct.

Explanation: The evidence supports D because the VertiPaq engine uses highly efficient value encoding for numeric data and less efficient hash encoding for text. Removing the text prefix in Power Query and storing the value as a number improves compression and query performance.

A is incorrect: Removing the column entirely is not an option because users need it to filter and drill through the data.

B is incorrect: DAX calculated columns are evaluated after load and typically compress less efficiently than Power Query computed columns.

C is incorrect: Changing the data type to datetime is inappropriate for an order number and would not reduce cardinality or improve compression.

Learn more in Microsoft Learn

Q027 - Question

Source data for a semantic model uses a snowflake schema: Product, Subcategory, and Category. Both the Sales fact table and the Inventory fact table use the same Category table. The team is concerned that denormalizing Category into separate dimension copies would create inconsistent data. What should the team do?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

A is correct.

Explanation: Preserve a snowflake structure when multiple fact tables share a subdimension table and denormalization would create inconsistent copies. Configure each relationship in the chain with single-direction filtering from the outermost table toward the fact table. A filter on Category then flows through Subcategory and Product into the fact table.

B is incorrect: Flattening is usually the better choice, but here it would create separate copies of the shared category data for each fact table. That is the inconsistency the team wants to avoid.

C is incorrect: Bi-directional filtering should be used sparingly. It can degrade query performance and create unexpected filter behavior in reports. The standard pattern for a preserved snowflake is single-direction filtering.

D is incorrect: Removing Category would remove the attribute that both fact tables need for slicing. It does not address the shared-dimension requirement.

Learn more in Microsoft Learn

Q028 - Question

A semantic model uses Direct Lake storage mode. Its largest fact table has millions of rows. Reports mostly show regional monthly totals, and users have not reported slow query response times. A team member proposes adding aggregations to every fact table now. Which action fits the design guidance for this model?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

D is correct.

Explanation: In Direct Lake mode, the Delta tables can serve as aggregation sources. Because Direct Lake reads columnar Parquet files, the engine can handle larger data volumes without aggregations in many scenarios. Add aggregations only when query patterns confirm the need. Consider them if summary-level visuals become slow.

A is incorrect: Adding aggregations to every fact table before any need is confirmed adds structure to maintain. Users have not reported slow queries.

B is incorrect: Import mode copies data into the model and makes freshness depend on refresh. Changing the storage mode only to use aggregations is not supported by the evidence when there is no performance problem.

C is incorrect: Separate measures for each variation increase measure proliferation and do not create summary tables at a higher grain. This approach is harder to maintain at scale.

Learn more in Microsoft Learn

Q029 - Question

An import model has a Profit Amount calculated column in the Sales table. A Profit measure uses SUM(Sales[Profit Amount]). The model already has Revenue and Cost measures. You must reduce model size and data refresh time without changing the Profit values that visuals show. What should you do?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

D is correct.

Explanation: A compound measure can reference other measures. The Profit measure can return the required result from Revenue and Cost. Measures are calculated at query time and don't store values in the model. After you remove the calculated column, the model no longer stores a Profit Amount value for each row, which reduces model size and refresh time. Test the change, because updates can affect dependent measures.

A is incorrect: Hiding the column doesn't remove it. In an import model, a calculated column still stores a value for each row, so storage and refresh costs remain.

B is incorrect: An implicit measure still depends on the calculated column, so the stored column values remain in the model.

C is incorrect: A calculated table increases the model's storage size and can prolong data refresh times. It doesn't address the cause of the problem.

Learn more in Microsoft Learn

Q030 - Question

A data modeler creates a dynamic RLS role on the Salesperson table with the expression [SalesPersonEmail] = USERNAME(). In Power BI Desktop, the filter does not match the email addresses stored in the column. The modeler plans to publish the model to the Power BI service and wants the same filter behavior in both environments. What should the modeler configure?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

B is correct.

Explanation: USERNAME() returns DOMAIN\username in Power BI Desktop and user@domain.com in the Power BI service. USERPRINCIPALNAME() returns user@domain.com in both environments. Use it so that testing in Desktop matches the behavior after you deploy.

A is incorrect: USERNAME() returns different formats depending on the environment, so the filter can behave differently in Desktop and in the service.

C is incorrect: Static rules do not scale. Each change requires a new role or an updated rule, and you must republish the semantic model.

D is incorrect: Object-level security hides tables and columns. It does not change how the identity function is evaluated or filter rows.

Learn more in Microsoft Learn

Q031 - Question

A fault is recorded in onboard equipment that is carried by vessel V001 but is not required by any scheduled work. An analyst must find which installation tasks and projects depend on equipment that is affected by maintenance order M001. The analyst must not flag every task that is assigned to the vessel. Which traversal should the analyst use?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

C is correct.

Explanation: The evidence states that to investigate a dependency, you follow the maintenance order through affects to the equipment, traverse requiresEquipment in reverse to find the task, and then hasTask in reverse to find the project.

A is incorrect: A vessel carrying equipment is different from a task requiring it. This path would flag tasks that do not depend on the affected equipment.

B is incorrect: This path starts from the project and does not use the maintenance order or the equipment dependency to find affected tasks.

D is incorrect: Treating all vessel equipment as required ignores the requiresEquipment relationship and can flag tasks incorrectly.

Learn more in Microsoft Learn

Q032 - Question

A team generated an ontology from a Direct Lake semantic model. The ontology contains the VitalSignEquipment entity type with static bindings to lakehouse tables. The team also needs continuous ICU readings from an eventhouse to appear on that entity type. Which approach is correct?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

B is correct.

Explanation: Generation configures static entity bindings from the lakehouse, and it configures keys where it can determine unique identifiers. You still verify that every entity type has a key. Some relationship bindings need manual configuration to be queryable. For streaming data, you add time series bindings that connect the eventhouse data sources.

A is incorrect: Some relationship bindings require manual configuration, and time series bindings for eventhouse data are not generated.

C is incorrect: The static bindings are configured automatically and remain valid. You add time series bindings in addition to them.

D is incorrect: Import mode does not generate data bindings. Direct Lake mode is the mode that generates them automatically.

Learn more in Microsoft Learn

Q033 - Question

Several teams use their own semantic models and define Customer differently. You plan to use Fabric IQ to create an ontology that standardizes shared business terms. Which entity is the best candidate to include in the ontology?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

C is correct.

Explanation: Create an ontology when an entity meets two conditions: its definition is stable, and other teams need it. Customer with a stable definition and a clear owner meets both. The ontology declares one agreed definition that all semantic models align to, and each semantic model keeps its own measures, filters, and calculated columns.

A is incorrect: A date filter only makes sense inside your reports, so it stays in the semantic model.

B is incorrect: A calculated column for one report layout is a reporting detail. Other teams do not need it, so it stays in the semantic model.

D is incorrect: Other teams need Customer, but the definition and owner are not settled. If your team is still changing what an entity means or who owns the definition, it is too early to publish it. Publish only entities with stable definitions and clear owners.

Learn more in Microsoft Learn

Q034 - Question

You created a contains relationship type with Hospital as the origin entity type and Department as the target entity type. You must make it queryable so the ontology shows which hospital contains which departments. The departments table has the columns DepartmentId and HospitalId. The hospitals table has only HospitalId and hospital attributes. How should you configure the relationship?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

D is correct.

Explanation: A relationship binding needs a source table that identifies both entity types. You select a matched column for each entity type, which is the column that matches that entity type's key. The departments table has HospitalId for the origin and DepartmentId for the target. Each row with values in both columns creates one relationship instance.

A is incorrect: The hospitals table has no column that identifies a department, so it cannot connect specific hospitals to specific departments.

B is incorrect: A relationship type without a binding is only a definition and cannot be queried.

C is incorrect: You select a matched column for each entity type. Without HospitalId, rows do not link a department to a specific hospital.

Learn more in Microsoft Learn

Q035 - Question

You test a semantic model with priority questions before you mark it Approved for Copilot. In one test, Copilot includes a technical location field in an answer instead of Customer City. In another test, Copilot does not recognize a business phrase that users commonly use for the Total Sales measure. Select the two actions that address these two findings.

Domain: Implement and manage semantic models (25–30%) Type: Multi-select

B and D are correct.

Explanation: A technical field in an answer is fixed by removing it from the AI data schema. An unknown business phrase is fixed by adding a synonym. After each fix, close and reopen the Copilot pane and ask the same question again to confirm that the fix works without breaking other answers.

A is incorrect: A verified answer is for a stable question that needs a set answer. It does not remove a technical field from the fields that Copilot considers.

C is incorrect: Approve the semantic model only after priority questions consistently use the trusted definitions. Approval without fixing and retesting the failed prompts means every Copilot experience that uses the model inherits untested behavior.

Learn more in Microsoft Learn

Q036 - Question

A data analyst has defined Project, Vessel, Equipment, InstallationTask, and MaintenanceOrder in a Fabric IQ ontology and bound them to prepared lakehouse tables. A project manager asks which planned foundation installations are at risk tomorrow because required equipment is unavailable. What must the analyst add so that the answer is explainable?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

B is correct.

Explanation: The evidence states that identifying task risk still requires an explicit rule that checks whether operation-blocking maintenance overlaps the planned use of required equipment.

A is incorrect: Adding more entity types provides vocabulary but does not calculate risk or replace the need for an explicit rule.

C is incorrect: A data agent answers questions using the provided business context, but it does not remove the need for an explicit risk rule.

D is incorrect: A relationship describes how concepts connect, but it does not check maintenance status, blocking, or schedule overlap.

Learn more in Microsoft Learn

Q037 - Question

An analyst has created an ontology item. The analyst now needs to start at maintenance order M001 and traverse relationships to find the dependent task and project. The analyst also wants to write GQL queries for more complex analysis, without data duplication or ETL. Which Fabric IQ item should the analyst use?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

A is correct.

Explanation: The evidence states that when you create an ontology item, a managed graph is automatically created from your ontology's entity types and relationships. You query it using GQL, and Graph in Microsoft Fabric operates directly on OneLake without requiring data duplication or ETL.

B is incorrect: An operations agent monitors real-time data and recommends or triggers actions based on rules, rather than providing a GQL query interface.

C is incorrect: Planning enables collaborative planning, forecasting, and reporting, rather than traversing relationships with GQL.

D is incorrect: A data agent answers natural language questions and generates SQL, DAX, or KQL, not GQL queries that you write.

Learn more in Microsoft Learn

Q038 - Question

A semantic model has a Sales table related to a Customer table. The model contains the columns Customer City and Store City, and neither column has a description. When a user asks for sales by customer location, Copilot sometimes groups by Store City. You need to improve the semantic model so Copilot selects the correct field. What should you do?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

D is correct.

Explanation: Names help Copilot find possible fields, and descriptions help Copilot choose the right field. A column description states what the value means and which scope applies. A description that says Customer City is the customer's location and Store City is the store's location tells Copilot to use Customer City for customer location questions.

A is incorrect: Synonyms are for different words that users use for a clear field. Mapping "customer location" to Store City would point Copilot to the wrong field and does not fix unclear design.

B is incorrect: Hiding Customer City removes the field that the question needs. Hide technical fields that do not help answer the question, and keep the business fields visible.

C is incorrect: dim_customer_v2 describes how the table is built. Table names should use business terms, such as Customer, so that Copilot can follow the business path for the question.

Learn more in Microsoft Learn

Q039 - Question

A team already uses a well-structured Power BI semantic model in production for trusted metrics and reporting. The team now needs shared entity definitions and relationship exploration across business domains. The team wants to build on the established definitions. Which approach should the team use?

Domain: Implement and manage semantic models (25–30%) Type: Single choice

D is correct.

Explanation: The evidence states that an ontology complements a semantic model rather than replacing it. You can generate an initial ontology from an existing semantic model, which creates entity types, properties, and relationship types, and then refine it by verifying keys and bindings.

A is incorrect: An ontology complements a semantic model and does not replace it for trusted metrics and reporting.

B is incorrect: Fabric IQ references data in place and does not move or duplicate it.

C is incorrect: Building from OneLake data is for cases where no semantic model exists or where you want full control over the design. A semantic model is a supported starting point.

Learn more in Microsoft Learn

Q040 - Question

You built an ontology manually. Equipment attributes such as EquipmentId, PatientId, and EquipmentType are in a lakehouse table. VitalSignsReadings, with EquipmentId, Timestamp, HeartRate, and OxygenSaturation, is in an eventhouse. You need the VitalSignEquipment entity type to expose both the attributes and the readings. Which TWO actions should you take?

Domain: Implement and manage semantic models (25–30%) Type: Multi-select

A and C are correct.

Explanation: The static binding creates the equipment entities, and the time series binding attaches readings to them. The system uses EquipmentId from the static binding to match each reading to the correct equipment entity. The time series binding requires a timestamp column. In it, EquipmentId is the static linking property, and HeartRate and OxygenSaturation are the Timeseries properties.

B is incorrect: Time series data needs existing entities to attach to. Without the static binding, the system has no entity to attach readings to.

D is incorrect: Each entity type supports exactly one static data binding. Eventhouse readings are added through a time series binding.

Learn more in Microsoft Learn

Q041 - Question

A Fabric admin adds descriptions to several items. The admin then opens the Govern section in the OneLake catalog and sees that the tenant-wide insights do not yet reflect the changes. What explains this behavior?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

D is correct.

Explanation: Fabric admins see tenant-wide insights that refresh daily from admin monitoring storage. A short delay can occur between a change and when it appears in the Govern section.

A is incorrect: Fabric admins see tenant-wide insights. Data owners see insights scoped to the items they own.

B is incorrect: Items without descriptions are one of the governance gaps the Govern section highlights. Endorsement is not required before descriptions are reflected.

C is incorrect: You can filter both views by domain to focus on a business area. Filtering is optional and does not control when insights refresh.

Learn more in Microsoft Learn

Q042 - Question

The owner of a production lakehouse finds that a user who changed teams still has write access. The owner also needs to limit another group to specific tables and folders in the lakehouse. The owner wants to review and change access from one place without opening each item. What should the owner use?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

B is correct.

Explanation: The Secure section shows which users and groups have access to each workspace and at what level. OneLake security roles control access to specific tables and folders within items. Role management lets you audit user access and create, edit, or delete security roles from one place.

A is incorrect: The Govern section reports on governance posture such as label coverage, endorsement status, and data freshness. It does not manage access.

C is incorrect: Endorsement signals trust. It does not control who can open or use the data.

D is incorrect: A description helps consumers evaluate an item in the catalog. It does not change workspace roles or access to tables and folders.

Learn more in Microsoft Learn

Q043 - Question

Consumers need to use the OneLake catalog to filter items by refresh frequency and to find items that belong to the Finance business area. Which two actions support this requirement? Select two.

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

B and D are correct.

Explanation: Tags categorize individual items by grouping such as refresh frequency, and consumers can search and filter by tags in the catalog. Domains group workspaces by business area, and Fabric admins create domains and assign workspaces to them.

A is incorrect: Endorsement signals trust. It does not categorize items by refresh frequency.

C is incorrect: Master data endorsement applies only to items that contain data, so it cannot be applied to a dashboard. It also signals an authoritative source, not a business area grouping.

Learn more in Microsoft Learn

Q044 - Question

A Patients table in a Fabric warehouse contains a MedicalHistory column. Receptionists must read all other columns in the table. Receptionists must receive a permission error if they select MedicalHistory. Which approach should you use?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

A is correct.

Explanation: Column-level security uses GRANT and DENY. You grant SELECT on the table, then deny SELECT on the sensitive column to roles that shouldn't see it. Users in those roles can read the rest of the table and receive an error if they select the restricted column.

B is incorrect: Dynamic data masking returns a masked value. It does not produce a permission error, and masked users can still query the column.

C is incorrect: A filter predicate and security policy implement row-level security. They filter rows, not columns.

D is incorrect: Denying SELECT on the whole table blocks the other columns that receptionists must read.

Learn more in Microsoft Learn

Q045 - Question

A data analyst has write permission on a semantic model but is not an authorized reviewer. The analyst has tested the model and wants to signal that it is ready for team-level use. Which action can the analyst take?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

A is correct.

Explanation: Promoted means an item is tested and ready for team-level use. Any user with write permissions can apply it, so the analyst does not need to be an authorized reviewer.

B is incorrect: Certified means the item meets organizational quality standards. Only authorized reviewers can apply it.

C is incorrect: Master data marks the authoritative source for core data. Only authorized reviewers can apply it, and it applies only to data items.

D is incorrect: Power BI dashboards cannot be promoted or certified. The endorsement must be applied to an eligible item such as the semantic model.

Learn more in Microsoft Learn

Q046 - Question

An application reads sales data from a Fabric warehouse only through the stored procedure dbo.usp_GetSalesData. You must apply the principle of least privilege to the application's identity. Which permissions should you configure?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

D is correct.

Explanation: An application that reads data through stored procedures needs EXECUTE permission on those procedures, not SELECT on the underlying tables. Granting EXECUTE and denying direct table access enforces a controlled data access pattern.

A is incorrect: Granting SELECT on dbo.Sales gives the application direct table access that it does not need.

B is incorrect: CONTROL gives full ownership-level rights over the procedure. The application only needs to run it.

C is incorrect: SELECT on all tables is broad access. Least privilege limits the impact if a credential is compromised or a user runs a destructive query.

Learn more in Microsoft Learn

Q047 - Question

A lakehouse in your workspace contains employee salary data. Your organization's security team has not yet configured sensitivity labels. You need to make the sensitivity of the lakehouse visible to consumers now. What should you do?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

C is correct.

Explanation: Sensitivity labels require configuration by your organization's security team. Until that is done, you can make sensitivity visible by using clear item descriptions, workspace naming conventions, and tags. These methods do not enforce access controls, but they give consumers information about the data.

A is incorrect: You cannot apply a label that the security team has not configured. Labels can enforce access restrictions only after they are set up.

B is incorrect: Endorsement signals that an item is trusted. It does not describe sensitivity.

D is incorrect: Viewer access can still allow users to export data to Excel. It does not make sensitivity visible to consumers.

Learn more in Microsoft Learn

Q048 - Question

You share a Fabric lakehouse with a business analyst. The analyst must query lakehouse data from the SQL analytics endpoint by using T-SQL and must create Power BI reports on the default semantic model. The analyst does not use Spark or OneLake APIs. Which two permissions should you grant? Select two.

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

B and D are correct.

Explanation: Read all SQL endpoint data lets the recipient read data from the SQL analytics endpoint by using T-SQL. Build reports on the default semantic model lets the recipient create Power BI reports on that model. Together they cover both requirements.

A is incorrect: Read permission is always granted when you share a lakehouse. It lets the recipient see item metadata and view associated reports, but it does not grant access to underlying data in SQL or OneLake.

C is incorrect: This permission gives access to lakehouse data through Apache Spark and OneLake APIs, which the analyst does not use. It also adds the recipient to the DefaultReader OneLake security role, which gives read access to all data.

Learn more in Microsoft Learn

Q049 - Question

A data engineer has the Contributor role in a Fabric workspace. The engineer no longer creates Fabric items and now only needs to read data from one lakehouse in that workspace. You must follow the principle of least privilege. What should you do?

Domain: Maintain a data analytics solution (25–30%) Type: Single choice

C is correct.

Explanation: Item permissions let you share a specific item and choose what the recipient can do. After you remove the Contributor role, the engineer can view and query only that lakehouse and nothing else in the workspace.

A is incorrect: The Contributor role would stay in place. It applies to every item in the workspace, not only the lakehouse.

B is incorrect: The Admin role grants more access than the Contributor role. It applies to all content in the workspace and includes permission management.

D is incorrect: A workspace role applies to all items in the workspace. The Viewer role also gives no access to the underlying OneLake data by default, so it does not meet the requirement to read lakehouse data.

Learn more in Microsoft Learn

Q050 - Question

A shared Sales table in a Fabric warehouse uses row-level security so that each salesperson sees only their own rows. A security review finds that a user could write a crafted query that forces a divide-by-zero error to reveal values in filtered rows. Which two actions reduce this risk? Select two.

Domain: Maintain a data analytics solution (25–30%) Type: Multi-select

B and D are correct.

Explanation: Row-level security is vulnerable to side-channel attacks, where a crafted query reveals filtered values through signals such as errors. To reduce the risk, combine row-level security with column-level security and dynamic data masking. Also restrict ALTER ANY SECURITY POLICY to trusted users and monitor security policy changes.

A is incorrect: The SQL engine enforces the predicate for every query, but side-channel queries can still reveal values. You need additional controls.

C is incorrect: Granting ALTER ANY SECURITY POLICY broadly lets more users change security policies. You should restrict this permission to trusted users.

Learn more in Microsoft Learn

← Read the full DP-600 study guide