If you’ve ever tried using the SUM function in Power Apps with a SharePoint list, you’ve probably run into that dreaded delegation warning.
The problem?
Power Apps only pulls in a limited set of rows (2,000 by default, 20,000 max), which means your totals could be flat-out wrong once your list grows. And if you’re relying on that SUM for reports, dashboards, or business logic — that’s a big deal.
🚧 The Workaround: Get SUM Without Delegation Warnings
Since Sum(SharePointList, ColumnName) isn’t delegable, we need to calculate totals in a way that doesn’t hit the 2,000-row cap. There are a couple of approaches, but the easiest one I’ve found is to bring all the data locally into a collection and then perform the SUM on that collection.
Step 1. Load all rows into a collection
On your app’s OnStart property (or a button click while testing), run:
ClearCollect(
colData,
ShowColumns(
SharePointList,"ID",
"Amount" // Replace with your column name
)
);
👉 ClearCollect pulls the rows from SharePoint into a local collection (colData).
👉 ShowColumns makes it lighter by only grabbing the fields you need for the SUM.
Step 2. Use SUM on the collection
Now that you have a full local copy, you can safely run:
Sum(colData, Amount)
✅ No delegation warnings.
✅ Accurate totals even if your SharePoint list has 10,000+ rows.
Step 3. (Optional) Handle Pagination for Large Lists
By default, Power Apps still respects the delegation row limit (2,000/20,000). To ensure you pull all records, you can loop with ForAll + Collect. Example:
Clear(colData);
ForAll(
Sequence(10), // Adjust depending on how many "pages" you need
Collect(
colData,
ShowColumns(
Filter(
SharePointList,
ID > (2000 * (Value - 1)) &&
ID <= (2000 * Value)
),
"ID",
"Amount"
)
)
);
This grabs the list in chunks of 2,000 and merges them into colData.
Step 4. Display the Total
Bind your label control’s Text property to:
"Total Amount: " & Sum(colData, Amount)
Now your total is always correct, delegation-free, and future-proof.


Leave a comment