web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Power Apps - Data Hand...
Power Apps
Suggested Answer

Power Apps - Data Handling

(0) ShareShare
ReportReport
Posted on by

Hi Community,

I would like to understand the exact data limitations in Power Apps (Canvas Apps).

  1. What is the practical data limit when using SharePoint as a data source?

  2. How does the delegation limit (500 / 2000 rows) affect large lists?

  3. If the SharePoint list contains more than 5,000 items, what is the recommended design approach?

  4. Are there any best practices to handle large datasets efficiently in Power Apps?

My goal is to design an app that may handle more than 5,000 records, and I want to ensure it performs efficiently without delegation issues.

Any guidance or real-world experience would be greatly appreciated.

Thank you!

Categories:
I have the same question (0)
  • Suggested answer
    BCBuizer Profile Picture
    22,833 Super User 2026 Season 1 on at
     

    1. What is the practical data limit when using SharePoint as a data source?

    This depends entirely on your use case, so more details on what you are thinking to achieve would help. The data row limit is put in place to protect makers from building Power Apps that easily become non performant by limiting the number of records that are being pulled in, forcing makers to make conscious decisions on how to spend resources. There are workarounds, but ultimately it boils down to what response times are deemed acceptable to the end users, although it may be tough to give an estimate about what the performance of certain design patterns is.

    2. How does the delegation limit (500 / 2000 rows) affect large lists?

    The data row limit is the maximum number of records that Power Apps can pull in, which I like to see as a window. This window applies regardless of whether your formulas are delegable or not.

    In case the formulas you write are not delegable, Power Apps will try to pull in all records from SharePoint and then apply the logic from your formula. In case the number of records is greater than the data row limit, any records that fall outside of the window will not show up in the Power App for sure, regardless of whether they meet the logic in your formula.

    However, if your formulas are delegable but the number of records that is returned is still greater than the data row limit, any records outside of the window will still be dropped.

    3. If the SharePoint list contains more than 5,000 items, what is the recommended design approach?

    Given the above, I would recommend to always make sure that the number of returned records remains below the data row limit, for instance by applying pagination. 

    Another thing you may do is to make the columns that are used for filtering and sorting indexed to overcome the 5,000 record SharePoint view threshold.

    4. Are there any best practices to handle large datasets efficiently in Power Apps?

    See the above. Depending on the growth rate of your data set you may consider an alternative dataset, although I have had canvas apps working which were connected to SharePoint listst that contained 10s of thousands of records without any issues.

     

    If this reply helped you in any way, please give it a Like 💜 and in case it resolved your issue, please mark it as the Verified Answer ✅.

     
  • Suggested answer
    deepakmehta13a Profile Picture
    369 on at

    Hi there, 

    Great questions — delegation is one of the most important things to get right when building Canvas Apps against SharePoint. Here's a breakdown based on real-world experience: 

    1. SharePoint as a data source — practical limits SharePoint Online supports up to 30 million items per list, but the list view threshold is 5,000 items for unindexed queries. Power Apps adds its own layer on top of this: for delegable queries, it can work with tens of thousands of records efficiently because the processing happens server-side. For non-delegable queries, it only retrieves the first 500 records by default (configurable up to 2,000 in App Settings → Data row limit). 

    2. How the delegation limit (500/2,000) affects large lists When you use a non-delegable function (like Search(), CountIf(), or text functions like Lower()/Upper()), Power Apps pulls only the first 500 or 2,000 rows locally and processes them there. Everything beyond that limit is simply invisible to your app. So if your target record is at row 2,001 in a 10,000-item list, a non-delegable search will never find it. Delegable functions (Filter with simple comparisons, StartsWith, in) push the query to SharePoint and return only matching results — no row cap. 

    3. Recommended approach for 5,000+ items A few proven patterns: 

    • Use only delegable functions wherever possible. Stick to Filter() with =, <, >, StartsWith, and the "in" operator. Avoid wrapping these in non-delegable functions. 

    • The "In-Out" method: Apply a broad delegable filter first (e.g., filter by date range or category) to reduce the dataset server-side, then apply any non-delegable operations locally on that smaller subset. 

    • Chunked collection loading: Add an indexed number column (e.g., "IndexID") to your SharePoint list. On app start, use ForAll + Sequence to load data in batches of 2,000 into a collection. This lets you pull the full dataset and use any function you want against the collection locally. 

    • Consider Dataverse if your dataset will keep growing. It handles delegation far better than SharePoint and is purpose-built for relational data. 

    4. Best practices 

    • - Index your columns in SharePoint. Add indexes to any columns you frequently filter or sort by. SharePoint's 5,000-item list view threshold applies to unindexed queries — indexed columns can handle far more items without hitting that limit. This is one of the most overlooked steps. 

    • - Use paginated controls like the Gallery. The Gallery control loads data progressively — approximately 100 records at a time — and fetches additional batches as the user scrolls. This keeps your app responsive and avoids pulling the entire dataset upfront. Leverage this built-in pagination rather than trying to load everything at once. 

    • - Set Data Row Limit to 2,000 during development, but test with it set to 1 — this forces you to catch delegation issues early. 

    • - Use ShowColumns() to load only the columns you need — reduces payload and improves performance. 

    • - Cache reference/lookup data in collections on App Start so you're not making repeated calls to SharePoint. 

    • - Always check the App Checker for delegation warnings (the blue underlines in the formula bar). Treat every warning as a bug. 

    • - For very large lists (10K+), consider offloading heavy queries to Power Automate flows that return filtered JSON to the app. 

    With 5,000+ records you can absolutely make it work on SharePoint — you just need to be disciplined about using delegable patterns. That said, if the dataset is going to keep growing and you need complex filtering/sorting, Dataverse is worth evaluating. 

    ✅If this helped, please Accept as Solution to help others ❤️ A Like is appreciated

  • BCBuizer Profile Picture
    22,833 Super User 2026 Season 1 on at
     
    Hopefully you found the previous response helpful or perhaps not. In any case, please share how you are faring along.
     
     
    If this reply helped you in any way, please give it a Like 💜 and in case it resolved your issue, please mark it as the Verified Answer ✅.

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.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Valantis Profile Picture

Valantis 424

#2
WarrenBelz Profile Picture

WarrenBelz 355 Most Valuable Professional

#3
11manish Profile Picture

11manish 290

Last 30 days Overall leaderboard