microsoft pl-400 practice test

Microsoft Power Platform Developer (beta)

Note: This exam has case studies

Question 1 Topic 8, Mixed Questions

A company plans to replicate a Dynamics 365 Sales database into an Azure SQL Database instance for reporting purposes.
The Data Export Service solution has been installed.
You need to configure the Data Export service.
Which three actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.

  • A. Enable auditing for all entities that must be replicated to Azure SQL Database.
  • B. Create an export profile that specifies all the entities that must be replicated.
  • C. Set up server-based integration.
  • D. Enable change tracking for all entities that must be replicated to Azure SQL Database.
  • E. Create an Azure SQL Database service in the same tenant as the Dynamics 365 Sales environment.
Answer:

A B D

Explanation:
B: The Export Profile is the core concept of the Data Export Service. The Export Profile gathers set up and configuration
information to synchronize data with the destination database. As part of the Export Profile, the administrator provides a list
of entities to be exported to the destination database.
D: Only entities that have change tracking enabled can be added to the Export Profile.
Incorrect Answers:
E: To use the Data Export Service the customer engagement apps (i.e., Dynamics 365 Sales, Dynamics 365 Customer
Service, Dynamics 365 Field Service, Dynamics 365 Marketing, and Dynamics 365 Project Service Automation) and Azure
Key Vault services must operate under the same tenant and within the same Azure Active Directory. However, the Azure
SQL Database service can be in the same or a different tenant.
Reference: https://docs.microsoft.com/en-us/power-platform/admin/replicate-data-microsoft-azure-sql-database

Discussions

Question 2 Topic 8, Mixed Questions

HOTSPOT
A delivery service uses a canvas app to track and deliver packages. The app uses SQL Server as a data store. The
database includes the following tables:

The app includes the following code to save all required information. (Line numbers are included for reference only.)

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

Answer:

Explanation:
The ClearCollect function deletes all the records from a collection. Syntax: ClearCollect( Collection, Item, ... )
Collection Required. The collection that you want to clear and then add data to. Item(s) - Required. One or more records or
tables to add to the data source.
Box 1: Yes
The Patch function in Power Apps modifies or creates one or more records in a data source, or merges records outside of a
data source. Use Patch with the Defaults function to create records.
Box 2: No
The return value of Patch is the record that you modified or created. If you created a record, the return value may include
properties that the data source generated automatically. However, the return value doesn't provide a value for fields of a
related table.
For example, you use Set(MyAccount, Patch(Accounts, First(Account), 'Account Name': "Example name"); and then
MyAccount.'Primary Contact'.'Full Name'. You can't yield a full name in this case. Instead, to access the fields of a related
table, use a separate lookup such as:
LookUp(Accounts, Account = MyAccount.Account).'Primary Contact'.'Full Name
Box 3: Yes
Box 4: Yes
Merge records outside of a data source.
Specify two or more records that you want to merge. Records are processed in the order from the beginning of the argument
list to the end, with later property values overriding earlier ones.
Patch returns the merged record and doesn't modify its arguments or records in any data sources.
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-clear-collect-clearcollect

Discussions

Question 3 Topic 8, Mixed Questions

HOTSPOT
You create an alternate key named AlternateKey1 on the Account entity. The definition for AlternateKey1 is shown in the
following exhibit:

Use the drop-down menus to select the answer choice that answers each question based on the information presented in
the graphic.
NOTE: Each correct selection is worth one point.
Hot Area:

Answer:

Explanation:
Box 1: The combination of Account Number and Account Name must be unique
With alternate keys you can now define a column in a Dataverse table to correspond to a unique identifier or unique
combination of columns. Box 2: Delete AlternateKey1 and re-create it with all three fields
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/define-alternate-keys-entity

Discussions

Question 4 Topic 8, Mixed Questions

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 once 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 are designing a one-way integration from the Common Data Service to another system.
You must use an Azure Function to update the other system. The integration must send only newly created records to the
other system. The solution must support scenarios where a component of the integration is unavailable for more than a few
seconds to avoid data loss.
You need to design the integration solution.
Solution: Register a service endpoint in the Common Data Service that connects to an Azure Service Bus queue.
Create and register an Azure-aware plug-in that uses the service endpoint.
Register a step on the plug-in that runs asynchronously on the records Create message and in the post-operation stage.
Configure the Azure Function to process records as they are added to the queue.
Does the solution meet the goal?

  • A. Yes
  • B. No
Answer:

A

Explanation:
Plug-ins are one of two methods used to initiate posting the message containing the data context to the Azure Service Bus,
the other method being a custom workflow activity.
Note: Microsoft Dataverse supports integration with Azure.
For the Dataverse and Azure connection to work, there must be at least one solution in an Azure Service Bus solution
account, where the solution contains one or more service endpoints. For a queue endpoint contract, a listener doesnt have
to be actively listening.
Reference: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/azure-integration

Discussions

Question 5 Topic 8, Mixed Questions

HOTSPOT
You create a Power Platform solution to track purchasing requirements for bills of material (BOMs) and their
subcomponents.
The solution must meet the following requirements:
Ensure that the BOMs are enabled to include the necessary subcomponents.

Report changes to the BOMs or their sub-components that are made by engineers.

You need to configure the solution.
What should you do to meet each requirement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:

Answer:

Explanation:
Box 1: Configure entity relationship
Box 2: Configure entity change tracking
The change tracking feature in Microsoft Dataverse provides a way to keep the data synchronized in an efficient manner by
detecting what data has changed since the data was initially extracted or last synchronized. Previously, without this new
feature, it was difficult to build a reliable and efficient mechanism to determine what records had changed in Dataverse.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/use-change-trackingsynchronize-data-external-
systems

Discussions

Question 6 Topic 8, Mixed Questions

DRAG DROP
You need to select the appropriate methods using Azure Event Grid.
Which method should you use for each requirement? To answer, drag the appropriate methods to the correct requirements.
Each method 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.
Select and Place:

Answer:

Explanation:
Box 1: Event handler
An event handler is the place where the event is sent. The handler takes some further action to process the event.
Box 2: Event subscription
Event subscriptions - The endpoint or built-in mechanism to route events, sometimes to more than one handler.
Subscriptions are also used by handlers to intelligently filter incoming events.
Incorrect Answers:
Events - What happened.
Event sources - Where the event took place.
Reference:
https://docs.microsoft.com/en-us/azure/event-grid/event-handlers https://docs.microsoft.com/en-us/azure/event-grid/overview

Discussions

Question 7 Topic 8, Mixed Questions

DRAG DROP
An organization uses plug-in to retrieve specific information from legacy data stores each time a new order is submitted.
You review the Common Data Service analytics page. The average plug-in execution time is increasing.
You need to replace the plug-in with another component, reusing as much of the current plug-in code as possible.
Which five 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.
Select and Place:

Answer:

Explanation:
Step 1: Create an Azure Function app
Azure Functions provide an excellent way to deliver a solution using WebHooks.
Step 2: Refactor the plug-in logic in the app.
Step 3: Publish the app
You can publish your function app to Azure directly from Visual Studio.
Step 4: Register a webhook for the app in the Plug-in Registration tool Use the Plug-in Registration tool to register a
WebHook.
Step 5: Register a step in the webhook.
Registering a step for a WebHook is like registering a step for a plug-in.
Reference: https://docs.microsoft.com/en-us/powerapps/developer/data-platform/use-webhooks
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/register-web-hook

Discussions

Question 8 Topic 8, Mixed Questions

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 once 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 are designing a one-way integration from the Common Data Service to another system.
You must use an Azure Function to update the other system. The integration must send only newly created records to the
other system. The solution must support scenarios where a component of the integration is unavailable for more than a few
seconds to avoid data loss.
You need to design the integration solution.
Solution: Configure the Azure Function with a timer trigger that runs every five minutes. The function will query the Common
Data Service and process records created in the last five minutes.
Does the solution meet the goal?

  • A. Yes
  • B. No
Answer:

B

Explanation:
Instead use Azure Service Bus queue solution with asynchronous communication.
Reference: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/azure-integration

Discussions

Question 9 Topic 8, Mixed Questions

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 once 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 are designing a one-way integration from the Common Data Service to another system.
You must use an Azure Function to update the other system. The integration must send only newly created records to the
other system. The solution must support scenarios where a component of the integration is unavailable for more than a few
seconds to avoid data loss.
You need to design the integration solution.
Solution: Register a service endpoint in the Common Data Service that connects to an Azure Service Bus queue.
Register a step at the endpoint which runs asynchronously on the records Create message and in the post-operation stage.
Configure the Azure Function to process records as they are added to the queue.
Does the solution meet the goal?

  • A. Yes
  • B. No
Answer:

B

Explanation:
Need a plug-in or a custom workflow.
Note: Plug-ins are one of two methods used to initiate posting the message containing the data context to the Azure Service
Bus, the other method being a custom workflow activity.
Reference: https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/azure-integration

Discussions

Question 10 Topic 8, Mixed Questions

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 once 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 are designing a one-way integration from the Common Data Service to another system.
You must use an Azure Function to update the other system. The integration must send only newly created records to the
other system. The solution must support scenarios where a component of the integration is unavailable for more than a few
seconds to avoid data loss.
You need to design the integration solution.
Solution: Register a webhook in the Common Data Service that connects to the Azure Function. Register a step on the
webhook which runs synchronously on the records Create message and in the postoperation stage.
Does the solution meet the goal?

  • A. Yes
  • B. No
Answer:

B

Explanation:
Instead use asynchronous communication.

Discussions
To page 2