PL 400 Create Power Apps 5 — Questions and Answers
Question 1: A developer needs to pass a large dataset between canvas app screens without re-querying the data source. What is the best approach?
- Use the Param() function to pass data via URL parameters
- Store the data in a global variable using Set() and access it on the next screen (Correct answer)
- Use Navigate() context variables for the entire dataset
- Store the data in a Dataverse table and re-query it on the next screen
Correct answer: Store the data in a global variable using Set() and access it on the next screen
Global variables created with Set() are accessible across all screens in a canvas app and persist for the session without additional data source calls.
Question 2: Which Power Apps feature allows a developer to test a canvas app's behavior with different user roles without switching accounts?
- Preview mode with impersonation settings
- Play mode with role simulation
- Run-as mode in Power Apps Studio
- Security role preview in canvas app authoring (Correct answer)
Correct answer: Security role preview in canvas app authoring
Canvas app authoring supports a security role preview that simulates how the app behaves for users assigned to specific Dataverse security roles.
Question 3: A developer is building a model-driven app and needs to display a custom visualization of aggregated data. Which approach is most appropriate?
- Add a Power BI embedded report to a model-driven app dashboard (Correct answer)
- Create a canvas app custom page with charts
- Use the Dataverse chart designer to create a custom chart
- Embed a web resource with D3.js visualizations
Correct answer: Add a Power BI embedded report to a model-driven app dashboard
Power BI reports can be embedded in model-driven app dashboards, providing rich, interactive aggregated data visualizations.
Question 4: When implementing a PCF (Power Apps Component Framework) field control, which interface must the component class implement?
- IInputComponent
- ComponentFramework.StandardControl<IInputs, IOutputs> (Correct answer)
- ICustomControl<IInputs>
- PowerApps.Component<IInputs, IOutputs>
Correct answer: ComponentFramework.StandardControl<IInputs, IOutputs>
All PCF controls must implement the ComponentFramework.StandardControl generic interface, typed with the component's IInputs and IOutputs interfaces.
Question 5: A canvas app developer needs to handle errors returned by the Patch function when writing to Dataverse. Which function should they use?
- IfError(Patch(...), Notify(FirstError.Message, NotificationType.Error)) (Correct answer)
- TryCatch(Patch(...), ErrorHandler)
- OnError(Patch(...), HandleError)
- Iferror only works with text functions, not Patch
Correct answer: IfError(Patch(...), Notify(FirstError.Message, NotificationType.Error))
IfError wraps any formula including Patch and provides access to FirstError.Message, allowing developers to display or log error details.
Question 6: A developer needs to create an environment variable in a Power Apps solution to store a configuration value that differs between development and production. Where is this configured?
- In the app's OnStart property using a Set() call
- As an environment variable definition and value within the solution (Correct answer)
- In the Power Platform admin center under environment settings
- In a Dataverse configuration table with a fixed schema
Correct answer: As an environment variable definition and value within the solution
Environment variables are added as components within a solution, with separate definition and value records allowing different values per environment.
Question 7: When a canvas app connects to an on-premises SQL Server database, which infrastructure component is required?
- Azure API Management gateway
- On-premises data gateway (Correct answer)
- Azure Service Bus relay
- Power Platform network bridge
Correct answer: On-premises data gateway
The on-premises data gateway acts as a secure bridge between Power Apps cloud services and on-premises data sources like SQL Server.
A developer needs to pass a large dataset between canvas app screens without re-querying the data source.
What is the best approach?