Improving Performance of Canvas Mobile App with SharePoint Lists - PL-400 Exam

Delegable Statements for Improving Performance in Canvas Mobile App with SharePoint Lists

Question

You create a canvas mobile app using SharePoint lists (Equipment and Sales) as data sources.

You want to improve the app's performance.

Please select all the delegable statements.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answers: B and D

For the best performance of a canvas app, you need to consider the following tips: Limit data connections - no more than 30 data sources for the same app.

Limit the number of controls - no more than 500 controls per app.

Effective OnStart load - for data load use in a parallel process by implementing the Concurrent function.

Optimize local caching - use the Set function for local caching.

Load screens in memory only when needed - avoid screen dependencies and formula sharing between screens.

Use delegation - process data close to the source, on the data server, as much as you can.

Use predominantly delegable functions.

Republish your app regularly - Power Platform adds new features all the time that can help your app's performance.

When working with a large dataset, you need to limit the number of records you can bring to the client.

By default, the Power Apps limits the number of records that you can bring to 500

You can change this limit in the app's settings.

But if your result set from the data operation would be over this limit, Power Platform will download only the limited number of records.

Therefore, push the data-heavy operations' execution on the back end of your data source.

Power Apps provides functions that are optimized to perform such actions.

These functions are called delegable functions.

Execution of these functions depends on the delegation support by the data source.

The delegable data sources include Common Data Service, SharePoint, SQL Server, and some others.

The list of the delegable functions consists of a filter (like Filter, Search, and Lookup), sorting (Sort and SortByColumns), aggregate (Sum, Average, Min, and Max), and table shaping (like AddColumns, DropColumns, etc.) functions.

The list of non-delegable functions includes Collect, Concat, Choices, Groupby, etc.

When a connector does not support the function delegation, App Checker will let you know.

Even the Sum function (Number 1) is on the list of potential delegable functions, but the SharePoint connector does not support this functionality.

And App Checker issues the Delegation warning (Number 2).

Power Apps

File Home Insert View

Cl] Newscreeny © Label

Text

Tree view

Screens Components

PD Search
E ppp

6G» © BrowseScreent

GZ tabel
(3
. G statusLabel
ai A Rectangle11
22 Searchicont

=) TextSearchBox1

£2 IconNewltem1

22 IconSortUpDownt

$3 IconRefresht
[A LbiAppNamet
TAA RectQuickActionBar1

i= BrowseGallery1

> © DetailScreent

> © EditScreent

Action

(Button

EB Data table

[B Forms\ fd Media — [ill Charts »

Equipmen:

Search items

$2 Iconsv BF Customy °@ AlBuildery  && Mixed Reality v

739V1

Centrifuges

Compressors

Generators

Lifts

Mixtures

Pumps

Refrigaration

Shredders

WH IM ORR NOON] NO

Tanks

@ labelt

D BrowseScre

7
sorgceneraternuns, 4 — 0 "9

Mixtures,Pumps,Refri [334.75
garatian Shreddare T 4 O d

© Details oS x

Issue

Delegation warning. The highlighted part of this
formula might not work correctly on large data
sets. The "Sum" operation is not supported by
this connector

The data source might not be able to process the
formula and might return an incomplete data set
Your application might not return correct results
or behave correctly if the data set is incomplete.

Location

G label
Text

How to fix

* If your data set exceeds the 500 record limit
but contains less than 2,000 records, try
resetting the limit.

Try simplifying the formula

Try moving your data to a different data
source.

Article: Understand delegation in a canvas app
Blog: Data row limits for delegation

View activity in your app to understand
performance and identify bugs.

F§_ open monitor

Options B and D are correct because Filter and Lookup are the delegable functions and supported by the SharePoint connector.

Options A and C are incorrect because Collect and Concat are non-delegable functions.

For more information about the canvas app's delegation and performance optimization, please visit the below URLs:

To improve the app's performance, you should use delegable functions. Delegable functions are functions that are executed on the server-side, reducing the amount of data that is transferred to the app, and therefore, improving performance.

The following statements are delegable:

B. Filter(Equipment,ID=2346) This statement is delegable because it filters the Equipment list by a single non-complex condition (ID=2346). When a function filters a list using a single non-complex condition, it is delegable.

D. LookUp(Sales,Title="Mango",UnitsSold) This statement is also delegable because it performs a lookup on the Sales list using two non-complex conditions (Title="Mango" and UnitsSold). When a function performs a lookup on a list using one or more non-complex conditions, it is delegable.

The following statements are not delegable:

A. Collect(LocalEquipment, TextInput1.Text) This statement is not delegable because it collects data from the Equipment list based on a condition specified in a text input control (TextInput1.Text). Collect function is not delegable.

C. Concat(Sales,Title & ",") This statement is not delegable because it concatenates the Title column of the Sales list with a comma. Concat function is not delegable.

So, the delegable statements are B and D.