Question 81 of 904
Optimizing Canvas App Performance with SQL Stored Procedures and Power BI Tiles
A retail company is building a Power Apps canvas app for store managers to review sales performance. The app connects to a SQL database and displays real-time sales data. The managers need to be able to filter data by store and date range, and view the data in a chart. The company wants to minimize licensing costs while ensuring scalability and performance. Which TWO features should you recommend?
Quick Answer
The answer is to integrate a Power BI tile for filtered charts and use a SQL stored procedure for data retrieval. Power BI tiles embed live, interactive visuals directly into the canvas app, enabling store managers to filter by store and date range without additional licensing costs, while stored procedures push complex query logic to the SQL database, drastically reducing data transfer and improving app performance and scalability. On the PL-900 exam, this question tests your understanding of how to balance real-time needs with cost-effective architecture, often trapping candidates who choose Excel Online or client-side collections, which break real-time requirements. Remember the key pairing: live visuals come from Power BI tiles, and heavy lifting stays on the database with stored procedures—think "Tile for the eye, procedure for the thigh."
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a SQL stored procedure to filter and aggregate data before sending to the app.
(Create a SQL stored procedure to filter and aggregate data before sending to the app) improves performance and scalability by offloading complex queries to the database. Option D (Integrate a Power BI tile to display filtered charts and graphs) allows embedding live reports and charts directly into the canvas app, providing robust filtering and visualization capabilities without additional licensing. Option A is incorrect because custom connectors require additional development and licensing, and are not necessary for security if the SQL database is properly configured. Option C is incorrect because using Collect() to load all data on app start would not provide real-time data and could cause performance issues with large datasets. Option E is incorrect because the Office365Users connector is for user information, not for retrieving sales data from Excel Online, and Excel Online is not suitable for real-time SQL data integration.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Build a custom connector to the SQL database for enhanced security.
Why it's wrong here
Custom connectors are not needed for standard SQL access and add complexity.
- ✓
Create a SQL stored procedure to filter and aggregate data before sending to the app.
Why this is correct
Optimizes performance and reduces data transfer.
- ✗
Use Collect() to load all data into a collection on app start for offline access.
Why it's wrong here
Not real-time and not scalable for large data.
- ✓
Integrate a Power BI tile to display filtered charts and graphs.
Why this is correct
Provides real-time visualization with filtering capabilities.
- ✗
Use the Office365Users connector to retrieve sales data from Excel Online.
Why it's wrong here
Excel Online is not a SQL database; mismatched requirement.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on PL-900
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A Power Apps developer created a canvas app that uses a SQL Server data source. Users report that the app is slow when navigating between screens. Which design change should the developer make to improve performance?
medium- A.Replace the SQL data source with a SharePoint list to increase delegation limits.
- B.Move all data loading logic from OnVisible to the App.OnStart property.
- C.Add a Timer control to preload data for the next screen.
- ✓ D.Apply delegation-compatible filters on galleries to reduce data loaded from the server.
Why D: To improve performance in a canvas app with a SQL Server data source, the most effective design change is to apply delegation-compatible filters on galleries (option D). Delegation allows the server to process the filtering, reducing the amount of data transferred to the app and speeding up screen navigation. Option A is incorrect because replacing SQL Server with SharePoint does not inherently improve delegation; both support delegation, but the root cause is unfiltered data loads. Option B is wrong because moving logic to App.OnStart preloads data only once, not per screen, and doesn't address data volume during navigation. Option C is incorrect because preloading with a Timer control adds complexity and does not reduce the data transferred; delegation is the proper solution.
Last reviewed: Jun 21, 2026
This PL-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-900 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.