Power Apps SUM Function and SharePoint: Solve the 2,000 Row Delegation Limit

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

About Me

Hi! I’m Ayush Purohit — a tech enthusiast who loves building solutions, exploring new tools, and sharing practical tips. This blog is where I break down complex concepts into simple, actionable advice to help you learn, experiment, and grow in your tech journey.