Announcements
The 2000-row limit exists because of delegation.
Power Apps is designed to avoid loading large datasets into the app, which would slow performance or even crash it. So instead:
- It tries to delegate (send) the query to SharePoint
- SharePoint processes the data and returns only the results
Workarounds
- Use **delegable functions** (`Filter`, `Sort`, `LookUp`)
- Filter data early** (don’t load full list)
- Use **indexed columns** in SharePoint
- Implement **pagination / load in chunks**
Key Point
Don’t try to load everything — **filter + delegate is the best approach**.
The 2000 limit is real, but it’s not really the problem — it’s just how Power Apps handles non-delegable queries. What actually matters is why you need more than 2000 rows and how you plan to use them.
If you truly need more (e.g. ~3000 rows), you can split the load into chunks and merge locally. For example: load multiple filtered collections (3 batches of 1000) and combine them in App OnStart. This works, but has trade-offs: slower initial load, higher memory usage, and risk of stale data in multi-user scenarios.
If the dataset is larger or dynamic, this doesn’t scale well. Better approaches are: use delegation (filter at source), implement pagination, or use Power Automate to return controlled datasets.
From experience, most cases don’t actually need thousands of rows at once — it’s usually a design issue. If you can share how you plan to use the data (not just how much), there are better patterns depending on the scenario.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Congratulations to our 2026 Super Users!
Congratulations to our 2025 community superstars!
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Vish WR 1,074
Valantis 639
11manish 606