PL 400 Power Apps Development 3 — Questions and Answers
Question 1: Which Dataverse column type should you use to store a many-to-one relationship between a 'Contact' table and an 'Account' table?
- Lookup column (Correct answer)
- Choice column
- Text column with a business rule
- Calculated column
Correct answer: Lookup column
A Lookup column creates a many-to-one relationship by storing a reference (foreign key) to a row in a related table.
Question 2: A canvas app's gallery is bound to a collection. A user edits a row in the gallery. Which function writes those edits back to the Dataverse data source?
- SubmitForm(FormName)
- Patch(DataSource, ThisItem, {Field: Value}) (Correct answer)
- SaveData(Collection, "name")
- UpdateIf(Collection, condition, {Field: Value})
Correct answer: Patch(DataSource, ThisItem, {Field: Value})
Patch() writes a record—or a set of field updates—directly to a data source, making it the correct function for updating Dataverse from a gallery interaction.
Question 3: You are building a PCF field control. The manifest declares a property with usage='bound'. What does this mean?
- The property is linked to a Dataverse column and its value flows bidirectionally (Correct answer)
- The property is read-only configuration set by the maker
- The property fires a Power Automate flow when changed
- The property is only available at design time
Correct answer: The property is linked to a Dataverse column and its value flows bidirectionally
A bound property is connected to a Dataverse column, meaning the control reads the column's value and can write back updated values through notifyOutputChanged.
Question 4: In a model-driven app, which feature allows you to run client-side logic automatically when a form field value changes?
- JavaScript web resource registered on the field's OnChange event (Correct answer)
- Power Automate cloud flow triggered by Dataverse row update
- Business rule with condition set to 'field change'
- PCF control with updateView override
Correct answer: JavaScript web resource registered on the field's OnChange event
JavaScript web resources registered on the OnChange event of a form field execute immediately in the browser when the field value is modified.
Question 5: Which Power Apps formula would you use to combine the FirstName and LastName columns from the Contacts table into a single display string?
- Concatenate(ThisItem.FirstName, " ", ThisItem.LastName) (Correct answer)
- Merge(ThisItem.FirstName, ThisItem.LastName)
- Join([ThisItem.FirstName, ThisItem.LastName], " ")
- Text(ThisItem.FirstName & ThisItem.LastName)
Correct answer: Concatenate(ThisItem.FirstName, " ", ThisItem.LastName)
Concatenate() joins multiple text strings together, and the & operator can also be used, but Concatenate() is the explicit string-joining function.
Question 6: You need to prevent a canvas app user from submitting a form if a required email field is blank. Which approach enforces this in the app?
- Set the button's DisplayMode to DisplayMode.Disabled when IsBlank(EmailInput.Text) (Correct answer)
- Add a Power Automate flow to validate before saving
- Use a Dataverse business rule with server-side validation
- Add a required attribute to the Dataverse column only
Correct answer: Set the button's DisplayMode to DisplayMode.Disabled when IsBlank(EmailInput.Text)
Setting the submit button's DisplayMode to Disabled based on a blank-check formula prevents submission at the UI layer before any server call is made.
Question 7: Which tool in the Power Apps maker portal lets you view and resolve dependency errors before exporting a solution?
- Solution checker (with dependency analysis) (Correct answer)
- Monitor tool
- App checker in Power Apps Studio
- Environment variable editor
Correct answer: Solution checker (with dependency analysis)
The solution checker analyzes solution components for issues including missing dependencies, helping you resolve them before export or deployment.
Which Dataverse column type should you use to store a many-to-one relationship between a 'Contact' table and an 'Account' table?