Exam DP-600 All QuestionsBrowse all questions from this exam
Question 3

Case study -

This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.

To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.

At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.

To start the case study -

To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.

Overview -

Contoso, Ltd. is a US-based health supplements company. Contoso has two divisions named Sales and Research. The Sales division contains two departments named Online Sales and Retail Sales. The Research division assigns internally developed product lines to individual teams of researchers and analysts.

Existing Environment -

Identity Environment -

Contoso has a Microsoft Entra tenant named contoso.com. The tenant contains two groups named ResearchReviewersGroup1 and ResearchReviewersGroup2.

Data Environment -

Contoso has the following data environment:

The Sales division uses a Microsoft Power BI Premium capacity.

The semantic model of the Online Sales department includes a fact table named Orders that uses Import made. In the system of origin, the OrderID value represents the sequence in which orders are created.

The Research department uses an on-premises, third-party data warehousing product.

Fabric is enabled for contoso.com.

An Azure Data Lake Storage Gen2 storage account named storage1 contains Research division data for a product line named Productline1. The data is in the delta format.

A Data Lake Storage Gen2 storage account named storage2 contains Research division data for a product line named Productline2. The data is in the CSV format.

Requirements -

Planned Changes -

Contoso plans to make the following changes:

Enable support for Fabric in the Power BI Premium capacity used by the Sales division.

Make all the data for the Sales division and the Research division available in Fabric.

For the Research division, create two Fabric workspaces named Productline1ws and Productine2ws.

In Productline1ws, create a lakehouse named Lakehouse1.

In Lakehouse1, create a shortcut to storage1 named ResearchProduct.

Data Analytics Requirements -

Contoso identifies the following data analytics requirements:

All the workspaces for the Sales division and the Research division must support all Fabric experiences.

The Research division workspaces must use a dedicated, on-demand capacity that has per-minute billing.

The Research division workspaces must be grouped together logically to support OneLake data hub filtering based on the department name.

For the Research division workspaces, the members of ResearchReviewersGroup1 must be able to read lakehouse and warehouse data and shortcuts by using SQL endpoints.

For the Research division workspaces, the members of ResearchReviewersGroup2 must be able to read lakehouse data by using Lakehouse explorer.

All the semantic models and reports for the Research division must use version control that supports branching.

Data Preparation Requirements -

Contoso identifies the following data preparation requirements:

The Research division data for Productline1 must be retrieved from Lakehouse1 by using Fabric notebooks.

All the Research division data in the lakehouses must be presented as managed tables in Lakehouse explorer.

Semantic Model Requirements -

Contoso identifies the following requirements for implementing and managing semantic models:

The number of rows added to the Orders table during refreshes must be minimized.

The semantic models in the Research division workspaces must use Direct Lake mode.

General Requirements -

Contoso identifies the following high-level requirements that must be considered for all solutions:

Follow the principle of least privilege when applicable.

Minimize implementation and maintenance effort when possible.

You need to refresh the Orders table of the Online Sales department. The solution must meet the semantic model requirements.

What should you include in the solution?

    Correct Answer: D

    The correct approach involves retrieving the maximum value of the OrderID column in the destination lakehouse to minimize the number of rows added during refreshes. This strategy aligns with the requirement to minimize the rows added and perform an incremental data load. An Azure Data Factory pipeline that executes a dataflow is suitable for this task as dataflows in Azure Data Factory support a variety of transformation and data retrieval operations, which include querying for the maximum value of a column. This method ensures efficient data handling and meets the data preparation and semantic model requirements specified.

Discussion
theseonOption: D

we need to retrieve the maximum OrderID in the destination table to minimize the number of rows added during refresh. this would be an incremental load. can be done with data flows

sraakesh95

Totally agree on the max value to be retrieved on incremental load

AsitTrivedi

https://learn.microsoft.com/en-au/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2

metiiiOption: A

The answer is A. You should query the last ID from the destination by lookup activity which uses the stored procedure, data flow is not used for this purpose. https://learn.microsoft.com/en-us/azure/data-factory/tutorial-incremental-copy-portal

NabilR

I agree. Azure Data Factory "pipelines" is different from Azure Data Factory "Data Flows". All the options are directing us to use Azure Data Factory "pipelines", so it should be using a stored procedure.

a_51

The lookup activity can be a SQL statement, the link provided mentions to use a stored proc to update the watermark. I believe the desired way is to use dataflow gen 2, https://learn.microsoft.com/en-us/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2.

AsitTrivedi

That would be for Azure, not necessarily for Fabric. Please refer the following URL: https://learn.microsoft.com/en-au/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2

a8906d2

We need to find out least solution. In the requirement , they have not mentioned any services related to DB and If you want to use stored procedure, you need either Azure SQL DB or Azure SQL DW service. Hence Dataflow approach is optimal one for this requirement

Jons123sonOption: D

D - As other people pointed out, the exact same use case for retrieving the max OrderID is showcased in the documentation https://learn.microsoft.com/en-us/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2#add-a-query-to-the-dataflow-to-filter-the-data-based-on-the-data-destination Thought at first that A would be correct because SP support least privilege and because how real incremental refresh is not yet supported in data flow gen 2 https://ideas.fabric.microsoft.com/ideas/idea/?ideaid=4814b098-efff-ed11-a81c-6045bdb98602

ca63a55Option: D

IMHO, it has to be done with dataflow (D) because the semantic model uses an Import mode so I think it doesn't support a store procedure (SQL)

manoletOption: D

The solution is using Lakehouses. You can't create stored procedures in the sql endpoint of a Lakehouse.

c8f5bdf

actually I just did it. so, yes, you can.

MomoanwarOption: D

Max with dataflow

NabilR

Why not A? I understand that DataFlow should be used when you want to apply transformation to the Data. Getting a simple MAX() can be done by using a stored procedure.

Fer079Option: A

Here the key words are "to retrieve", so if you run a pipeline to execute something to retrieve a value then it should be a Store Procedure using the lookup activity. This is the most effective way to do it. The answers are not telling you the entire process to insert the new data (which it could be with dataflow) else it is telling you what activity to use in the pipeline to retrieve the maximum value of the OrderID. At least this is what I understood.

rmengOption: D

https://learn.microsoft.com/en-au/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2

agente232Option: A

I asked chatgpt and I've got this: Based on the requirements for the semantic model of the Online Sales department, the best solution to refresh the Orders table would be to include an Azure Data Factory pipeline that executes a Stored procedure activity to retrieve the maximum value of the OrderID column in the destination lakehouse. This approach ensures that only new orders are processed, maintaining the sequence and integrity of the OrderID values as per the system of origin. Therefore, the correct answer is: A. an Azure Data Factory pipeline that executes a Stored procedure activity to retrieve the maximum value of the OrderID column in the destination lakehouse.

m_abohassanOption: A

i think it should be A

stilferxOption: D

IMHO, it is very good explained here: https://learn.microsoft.com/en-au/fabric/data-factory/tutorial-setup-incremental-refresh-with-dataflows-gen2 So, it is not A, because of SP is not good to load data from sources in data lake. B and C - not an option at all, because it doesn't make sense to query the minimum order to make an incremental loading.

ZSteward

Hey when can we use SP then ?

stilferx

Additional evidence for D is, Storage Procedure Activity doesn't return value. It just runs the SP. The LookUp Activity does. But not SP. You can see it here on the screens: https://learn.microsoft.com/en-us/fabric/data-factory/stored-procedure-activity#step-3-choose-a-stored-procedure-and-configure-parameters

Shri_LearningOption: D

For delta load, max order id is the PK so

sepiidaOption: A

we need to retrieve the maximum OrderID in the destination table to minimize the number of rows added during refresh. This can be achieved with both the dataflow and a stored procedure. It mentions that "All the semantic models and reports for the Research division must use version control that supports branching." Dataflows are not supported in the git integration. Hence I choose A as the answer.

Nefirs

only semantic model and reports must use version control. However, dataflows are not mentioned, therefore, irrelevant whether supported or not.

LasAnsiasOption: A

Azure Data Factory "pipelines" is different from Azure Data Factory "Data Flows". All the options are directing us to use Azure Data Factory "pipelines", so it should be using a stored procedure.

RinSu75Option: A

Answer should be A

SamuComqiOption: D

D. an Azure Data Factory pipeline that executes a dataflow to retrieve the maximum value of the OrderID column in the destination lakehouse. A dataflow can be used to retrieve the max OrderID number (stored in the destination table - OrderID is a sequencial number). This number can be used to set from which row data must be added to the destination table (implementing an incremental load).