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

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / 5,000+ Records in Powe...
Power Apps
Unanswered

5,000+ Records in Power Apps

(0) ShareShare
ReportReport
Posted on by 8
I have over 5,000 records in my data source. How can I display them efficiently in Power Apps?
Categories:
I have the same question (0)
  • WarrenBelz Profile Picture
    153,034 Most Valuable Professional on at
    Very broad question - you did not state your data source type, but assuming SharePoint for the moment, you need to index (in SharePoint) any columns involved in queries (you are allowed 20 indexes per list), You also need to be aware of Delegation limitations - this blog of mine may be useful to you.
     
    Please click Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like.
    MVP (Business Applications)    Visit my blog Practical Power Apps    LinkedIn    Buy me a coffee
  • VASANTH KUMAR BALMADI Profile Picture
    266 on at

    Great question! Power Apps has a delegation limit of 2,000 records for most data sources. To handle large datasets like yours, pagination is the best solution. It allows you to load and display only a subset of records at a time, improving performance and user experience.

    1. Use the FirstN and Skip functions to fetch only the records you need for the current page:

    FirstN(Skip(DataSource, (CurrentPage - 1) * PageSize), PageSize)

    Here’s what the formula does:

    • Skip: Skips the records of previous pages.
    • FirstN: Fetches the desired number of records (PageSize) for the current page.
    2. Add Next and Previous buttons and set their behavior with Power FX:
    • Next Button:
      If(CurrentPage < TotalPages, Set(CurrentPage, CurrentPage + 1))
    • Previous Button:
      If(CurrentPage > 1, Set(CurrentPage, CurrentPage - 1))
       

      Use the total record count and page size to determine the total pages dynamically:

      Set(TotalPages, RoundUp(CountRows(DataSource) / PageSize, 0))

       

      ----------------------------------------------------------------------------------
      If this Post helped you, please click "Does this answer your question" and give it a like to help others in the community find the answer too!

  • WarrenBelz Profile Picture
    153,034 Most Valuable Professional on at
    The content provided by @VASANTH KUMAR BALMADI is not the solution as none of that is Delegable and is not all valid PowerFx (Power Apps) code - it is however strangely very similar to what I received when I plugged your question into ChatGPT.

    The content has more relevance in Power Automate (Skip is not a Power Apps function - it belongs in Power Automate). If you want to use a Flow, here is a good video on the process of retrieving over 2,000 items, but be aware that datasets of that size bring potential performance issues with them that are best avoided if possible.

    The best initial track is to see if you can operate with Delegable filters and then the data set size is irrelevant.
     
    Please click Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like.
    MVP (Business Applications)    Visit my blog Practical Power Apps    LinkedIn    Buy me a coffee
     
     
  • IAmIntractable Profile Picture
    278 on at
    Couple of things:
     
    You can index Sharepoint for better performance of large lists. This is largely undocumented in the sense that its not clear what the impacts are and if it can be undone with no consequences (SharePoint can be unforgiving and support will be difficult to obtain).
     
    It's not a delegation limit but a resultset limit of 2000 rows. This limit is imposed by Microsoft for their benefit and to prevent citizen developers from running amok on their servers. It is entirely too low for professional developers. You certainly can use creative ways to get more rows including grabbing data through Power Automate. Note, that this too has a limit in that the embedded flow has 120 seconds to complete its work.
     
     
  • WarrenBelz Profile Picture
    153,034 Most Valuable Professional on at
    @IAmIntractable​​​​​​​
    To clarify a few things - the indexing of SharePoint fields is good practice from the start - the only "impact" it potentially has is to speed up queries. The Microsoft rationale for the maximum of 2,000 for the Data Row Limit is quite the opposite - it is the amount of records that the local device should be able to handle without impacting performance - particularly mobile devices, where the Power Apps usage is substantial. I noted this (performance degradation) earlier as a danger of bringing back very large data sets and trying to interact with them locally.
    Also, as I mentioned earlier, the best path forward to to keep as many queries as possible Delegable, then the "limit" has no bearing.

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

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 717 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 329 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard