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 / Application scalabilit...
Power Apps
Unanswered

Application scalability challenge: “Data row limit”-related and Delegation-limit-related

(1) ShareShare
ReportReport
Posted on by 27

I frequently encounter scalability limitation challenges in many areas of different applications… So now, I have decided to analyze the challenges and see if I can develop some good, simple, and scalable solution models that I can use as the standard models whenever an application must be designed for scalability.

 

I need the community's help. I imagine the solutions might involve using different Power Apps constructs or different architectural designs.

 

I hope many will contribute, either with comments, further discussion, or solution ideas for some of the questions raised. All comments, discussions, and solution ideas are welcome.

 

You don’t have to comment on everything at once to participate.

 

Many thanks in advance.

 

In the following…:

1) First, I will present some general subject-areas and -questions related to the limitation challenges.

2) Then I will present, in a general way, a common example of an application part, that is subject to scalability challenges:

3) Then I will open for what I hope can be some open and elaborative discussions between community members

 

Many thanks in advance!

Categories:
I have the same question (0)
  • JakobAnkerHanse Profile Picture
    27 on at

    1 )

    ------------------------

    A) Upper record-limit when loading a data source into a collection (I currently only work with Dataverse):

     

    Clearcollect (ColName, Data source);

     

    Only up to 500 or 2000 records can be loaded, based on the “Data row limit”-setting in Power Apps

     

    How to deal with this upper-limit-challenge ???

     

    Of course, you can try to use filters to lower the number of records returned… But if this is not possible, and if the number of records still exceeds the “Data row limit”-setting…

     

    Is the only (and best) way to deal with this challenge to, directly after data load, check the “record count” ("CountRows(CollectionName)") of the “data-loaded”-collection, and if the count is equal to the data row limit, create an alert informing the user that the limit has been reached and the results might not be trustworthy?

     

    B) How to do “inner join” in Power Apps between two tables based on common key-column-values

     

    JakobAnkerHanse_0-1719783439018.png

    Which Power Apps constructs (formulas) can be used to do this inner join ?

     

    C) Possible way of doing “inner join” in Power Apps

     

    To do “Inner join” ManyTable01:

     

    // Gallery.Items =
    
    Filter(
     ManyTable01,
     Key in ManyTable02[@cr406_key]
    )

     

    To do “Inner join” ManyTable01 and add the ManyTable02 ValueB column at the same time:

     

    // Gallery.Items =
    
    AddColumns(
     Filter(
     ManyTable01,
     Key in ManyTable02[@cr406_key]
     ) As ToBeExtended,
     ValueB,
     LookUp(
     ManyTable02,
     Key = ToBeExtended[@cr406_key],
     ValueB
     )
    )

     

    Are there other Power Apps constructs that can be used to perform the above-shown inner joins ?

     

    D) Delegated complex linking of big data sources to a Gallery

     

    In C) above, relatively complex formulas were used to connect a gallery to data through the gallery’s “Item” property. The formulas did not reference collections, however, a data source reference is specified as part of the filter criteria in the formulas.

     

    Are these formulas fully delegated from Power Apps to the Data Source (here, Dataverse), and will the outcome be fully trustworthy if ManyTable01 and ManuTable02 both contain many thousands of records?

     

    E) Dynamic linking of big data sources to a Gallery

     

    As above in C), sometimes you can directly link a gallery to a data source through the gallery’s Items property. This way the gallery will be able to show a limitless number of records, as data is loaded dynamically from the data source when the user scrolls through the gallery.

     

    But if you want the gallery to dynamically show data from different sources, one way is to “hard code” a link from the gallery’s items property to a collection, and then dynamically change the content of the linked collection.

     

    In the Item’s property of the gallery, you link the gallery to the collection:

     

    // Gallery.Items =
    
    CollectionName

     

    And then you can through code decide the content of the collection:

     

    // First load of data
    
    ClearCollect (
     ColManyTable01,
     ManyTable01
    );
    
    // Second load of data
    
    ClearCollect (
     ColManyTable01,
     SomeOtherManyTable
    );

     

    Of course, you must make sure that the collection maintains the same column names, for the gallery to keep showing the collection data correctly between data loads.

     

    This can work fine, but you then run into the collection upper-limit problem discussed in A) above, where you are unable to get more than 500 or 2000 records from a data source to the collection.

     

    So, you are back to square one…: Even though a gallery can show thousands or perhaps even millions of records, when the gallery gets its data from a collection, in practice the limit is 500 or 2000 records depending on the “Data row limit”-setting in Power Apps.


    Am I missing something here ? Is there another way of dynamically linking a gallery to different data sources than through a collection ?

  • JakobAnkerHanse Profile Picture
    27 on at

    2 )

    ------------------------

    Here is a common example of an application part, that is subject to scalability challenges…

     

    Three data source tables are involved, and here is the application description:

     

    1. A gallery is used to show ManyTable01
    2. The user can select a record in the gallery
    3. Another gallery shall be filled with the subset of records of  ManyTable02 based on relational key-matches with the in “2.” selected record, looked up in the “Many2ManyRels01”- table

     

    Here is a screenshot of the application run results, where record ‘B’ of ManyTable01 is selected:

    JakobAnkerHanse_0-1719783903367.png

     

    Here is the code behind the “Run Application”-button:

    ClearCollect(
     ColRelatedRecs,
     Filter (
     Many2ManyRels01,
     LnkMany01 = DataTable1.Selected.Key
     )
    );
    ClearCollect(
     ColResultingRecs,
     Filter (
     ManyTable02,
     Key in ColRelatedRecs.LnkMany02
     )
    );

     

  • JakobAnkerHanse Profile Picture
    27 on at

    3 )

    ------------------------

    Different questions can be raised and considerations can be made in relation to the above 2) application description…

     

    A)  Linking of gallery to application results without the use of collections.

     

    In the code behind the “Run Application”-button shown in 2) above, a “helper”-collection (ColRelatedRecs) is used, and a “result”-collection (ColResultingRecs) is linked to the gallery.

     

    Of course, the formulas for the two collections can be combined, and the resulting formula can be linked to the gallery:

    //Gallery.Items =
    
    Filter (
     ManyTable02,
     Key in (Filter (
     Many2ManyRels01,
     LnkMany01 = DataTable1.Selected.Key
     )).LnkMany02
    )

    Does anyone have alternative ways of accomplishing the same ?

     

    If the same gallery must be used for displaying other things than the results of the“Run Application”-button, is there any other way of linking the gallery to data than through the use of collections ?

     

    B) Stability problems following from complex linking of galleries to data

     

    As part of the preparation of the example app described above, many times I have experienced that my “make.powerapps.com”-browser window froze… Especially I experience, that when I stand on a gallery connected to data using a complex formula on the “Items”-property, when I press the Fields-link of the gallery to connect the Data source to visualization components of the gallery, I have often experienced “frozen” browser windows.

     

    Is this normal Power Apps behavior that one must expect to happen frequently, or is this the result of a complex formula used for data linking ?

     

    To be absolutely correct, to ease the work with this example application, instead of using galleries, I used data-tables-components… Are data-table-components more prone to freezing than galleries ?

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Vish WR Profile Picture

Vish WR 638

#2
Haque Profile Picture

Haque 317

#3
WarrenBelz Profile Picture

WarrenBelz 315 Most Valuable Professional

Last 30 days Overall leaderboard