Canvas Application
Microsoft Power Apps

1. Which of the following best describes a Canvas App in Power Apps?

A. A flow automation tool

B. A mobile-friendly, drag-and-drop UI builder

C. A code-based web development framework

D. A report visualization tool

Answer: B. A mobile-friendly, drag-and-drop UI builder

 

2. What is the primary purpose of the "Screen" control in a Canvas App?

A. To store data

B. To group and organize UI elements

C. To process automation workflows

D. To manage security settings

Answer: B. To group and organize UI elements

 

3. Which formula would you use to display dynamic text in a Label control?

A. Set(Label1.Text, "Hello World")

B. Label1.Text = "Hello World"

C. Label1.Update("Hello World")

D. "Hello World"

Answer: D. "Hello World"

 

4. What is the default data source for a new Power Apps Canvas App?

A. Microsoft Excel

B. Dataverse

C. SharePoint

D. There is no default data source

Answer: D. There is no default data source

 

5. What does the "Gallery" control primarily do?

A. Displays multiple records in a scrollable layout

B. Sends data to Power Automate

C. Stores user inputs temporarily

D. Runs scripts and automation tasks

Answer: A. Displays multiple records in a scrollable layout

 

 

 

 

6. How do you ensure a button remains disabled unless a TextInput has a value?

A. Set Button1.Disabled = If(IsBlank(TextInput1.Text), true, false)

B. Set Button1.Enabled = False

C. Set TextInput1.Required = True

D. Use Set(Button1.Disabled, false)

Answer: A. Set Button1.Disabled = If(IsBlank(TextInput1.Text), true, false)

 

7. What function is used to retrieve a single record from a data source?

A. Lookup()

B. Filter()

C. Collect()

D. ClearCollect()

Answer: A. Lookup()

 

8. What happens when you use the Collect() function in Power Apps?

A. Deletes all records in a collection

B. Fetches data from a SharePoint list

C. Adds a new record to a collection

D. Refreshes all screen controls

Answer: C. Adds a new record to a collection

 

9. Which property defines the order of execution when multiple actions are triggered?

A. OnSelect

B. OnVisible

C. Sequence

D. Concurrent

Answer: D. Concurrent

 

10. If you want to filter a Gallery based on a Dropdown selection, which formula should you use?

A. Gallery1.Items = Filter(DataSource, Column = Dropdown1.Selected.Value)

B. Filter(Gallery1, Column = Dropdown1.Selected.Value)

C. Search(Gallery1, Dropdown1.Selected.Value, Column)

D. Lookup(Gallery1, Column, Dropdown1.Selected.Value)

Answer: A. Gallery1.Items = Filter(DataSource, Column = Dropdown1.Selected.Value)

 

11. Which function allows you to reset a TextInput control to its default value?

A. ResetControl(TextInput1)

B. Clear(TextInput1)

C. Reset(TextInput1)

D. Set(TextInput1, "")

Answer: C. Reset(TextInput1)

 

12. What does UpdateContext() do in a Canvas App?

A. Creates or updates a local variable

B. Modifies an external data source

C. Submits a form

D. Deletes a record

Answer: A. Creates or updates a local variable

 

13. How can you preload data when a Canvas App starts?

A. Using OnVisible

B. Using OnStart

C. Using LoadData()

D. Using Navigate()

Answer: B. Using OnStart

 

14. Which function is used to update specific fields in a record?

A. Patch()

B. Update()

C. Modify()

D. Refresh()

Answer: A. Patch()

 

15. What property would you use to show an error message dynamically?

A. ErrorMessage.Visible

B. Notify()

C. OnError()

D. AlertMessage.Text

Answer: B. Notify()

 

 

 

 

16. What is the benefit of using the LazyLoad property?

A. Improves app performance by loading data only when needed

B. Enables offline mode

C. Loads all data at once

D. Ensures data security

Answer: A. Improves app performance by loading data only when needed

 

17. How do you handle errors in Power Apps?

A. Using IfError()

B. Using TryCatch()

C. Using ErrorHandler()

D. Power Apps does not support error handling

Answer: A. Using IfError()

 

18. Which feature enables direct interaction with an API in a Canvas App?

A. Custom Connector

B. Azure Function

C. Power Automate

D. Dataverse

Answer: A. Custom Connector

 

19. What is the purpose of Param() in Power Apps?

A. Retrieves query string parameters from a URL

B. Stores session data

C. Validates form fields

D. Sends data to a data source

Answer: A. Retrieves query string parameters from a URL

 

20. How can you monitor real-time app performance in Power Apps?

A. Using Monitor

B. Using Debug Console

C. Using Performance Tracker

D. Using Event Viewer

Answer: A. Using Monitor

 

 

 

 

21.  What is the primary difference between Patch() and SubmitForm()?

A. Patch() works without forms, while SubmitForm() requires a form

B. Patch() can create new records, but SubmitForm() cannot

C. SubmitForm() is faster than Patch()

D. Patch() does not work with SharePoint

Answer: A. Patch() works without forms, while SubmitForm() requires a form

 

22. In Power Apps, how can you prevent a user from submitting duplicate records?

A. Use If(IsEmpty(LookUp(DataSource, Condition)), Patch(...))

B. Disable the Submit button after first submission

C. Set a unique constraint in Power Apps

D. Power Apps does not support duplicate prevention

Answer: A. Use If(IsEmpty(LookUp(DataSource, Condition)), Patch(...))

 

23. What is the best approach to dynamically show or hide form fields based on user input?

A. Use the Visible property with an If() condition

B. Use UpdateContext() to toggle visibility

C. Use a Timer control to refresh the screen

D. Change the DisplayMode property dynamically

Answer: A. Use the Visible property with an If() condition

 

24. How can you ensure Power Apps enforces field-level security from Dataverse?

A. Use role-based access control in Dataverse

B. Hide fields using Power Apps conditional visibility

C. Create different screens with restricted access

D. Use If(User().Email, HideField())

Answer: A. Use role-based access control in Dataverse

 

25. What happens when SaveData() is used in Power Apps?

A. Stores data locally on the user’s device

B. Saves data to Dataverse

C. Automatically syncs data across all devices

D. Saves data to SharePoint

Answer: A. Stores data locally on the user’s device

 

 

 

26. Which of the following methods can be used to dynamically update the app theme?

A. Store theme values in a Global Variable

B. Use a SharePoint List for theme configurations

C. Use OnStart to load theme settings

D. All of the above

Answer: D. All of the above

 

27. How can you trigger a Power Automate flow from a Canvas App?

A. Using a Button with PowerAutomate.Run()

B. Using a Timer control

C. Using an OnStart property

D. Using a Label control

Answer: A. Using a Button with PowerAutomate.Run()

 

28. How can you make a container dynamically appear based on a selection?

A. Set its Visible property to a conditional expression

B. Use a Timer control

C. Use a Power Automate flow

D. Set its X property to zero

Answer: A. Set its Visible property to a conditional expression

 

29. When triggering a Power Automate flow from a Canvas App, which of the following methods is the most efficient for passing a large number of records to the flow for processing?

 

A) Use the Patch() function to send each record one by one

B) Use a collection to gather all the records and pass it to the flow as a parameter

C) Send the records as individual inputs to the flow using the PowerAutomate connector

D) Use ForAll() in Canvas App to process records in bulk

Answer: B) Use a collection to gather all the records and pass it to the flow as a parameter

 

 

 

 

 

30. Which of the following is NOT a reason to use Modern Controls in a Canvas App over Classic Controls?

 

A) Modern controls provide enhanced responsiveness across screen sizes

B) Classic controls support more advanced formula logic

C) Modern controls support integration with AI Builder components

D) Modern controls are optimized for mobile-first design

Answer: B) Classic controls support more advanced formula logic

 

31. When configuring a Canvas App to trigger a Power Automate flow that requires user interaction (e.g., approval), which of the following approaches provides the best solution for handling asynchronous responses?

 

A) Use a Timer control in the app to periodically check for flow completion

B) Store the flow’s response in a global variable and display it in real-time

C) Trigger the flow to update the app UI directly upon completion

D) Implement a manual refresh button that users can click to fetch updates from the flow

Answer: A) Use a Timer control in the app to periodically check for flow completion

 

32. How do you capture the result of a Power Automate flow in a Canvas App?

A) Using a global variable

 B) Using the OnSuccess property

 C) Using the Response function

 D) Using Set() function

 Answer: A) Using a global variable

 

33. According to best practices, which of the following is the preferred naming convention for a collection storing user details in a Canvas App?

 

A) colUserDetails

B) UserCollection

C) ud_userdetails

D) colUserDataDetails

Answer: A) colUserDetails

 

 

 

 

34. Which of the following variable types in Canvas Apps retains its value across screen navigations?

 

A) Context Variable

B) Global Variable

C) Collection

D) Local Variable

Answer: B) Global Variable

 

35. What is the most efficient way to handle repetitive tasks in a Canvas App to follow coding standards?

 

A) Use ForAll() to repeat the task multiple times in one function call

B) Use functions that are not delegated to perform the tasks locally

C) Create reusable functions in a centralized module

D) Repeatedly write the same code in each screen for better maintainability

Answer: C) Create reusable functions in a centralized module

 

36. According to best practices, how should you name a variable that stores the current user's role?

 

A) var_currentRole

B) userRoleVar

C) varUserRole

D) currentRole

Answer: C) varUserRole

 

37. When you share a Canvas app with users, which of the following permissions must they have in order to edit the app?

 

A) They must have the App Owner role

B) They must have the Co-Owner role

C) They must have the User role

D) They must be given Access to the environment where the app is stored

Answer: B) They must have the Co-Owner role

 

 

 

 

38. Which of the following is a limitation of being a Co-Owner of a Canvas App?

 

A) Co-owners cannot view the app’s data

B) Co-owners cannot delete the app

C) Co-owners cannot add new data sources

D) Co-owners can only run the app, not edit it

Answer: B) Co-owners cannot delete the app

 

39. Which of the following types of connectors can be used in Canvas Apps?

 

A) Custom Connectors only

B) Standard Connectors only

C) Both Standard and Premium Connectors

D) Only connectors available in Power Automate

Answer: C) Both Standard and Premium Connectors

 

40. What is one major limitation when using external connectors in Canvas Apps?

 

A) External connectors cannot be used with data stored on-premises

B) External connectors often require additional authentication and configuration

C) External connectors do not support any type of delegation

D) External connectors do not work with premium services

Answer: B) External connectors often require additional authentication and configuration