I have a Sharepoint list with 2100 records in it. I have discovered the 500 record limit when using non-delegable functions but I performed the following and was wondering if this is normal? Connect my list as a datasource and set the Items property of a gallery to this datasource. I displayed the ID column and when scrolling in the preview mode I could see well over 1000 records in the gallery. I put a button on the screen and in the OnSelect I had a Collection created
ClearCollect(KPIs, KPIData); UpdateContext( { Counter: CountRows(KPIs) }).
When I set the Items property of the gallery to the new collection I only see 500 records and the Count only shows 500 as well.
Does this mean that there is a 500 record limit on collections?
Solved! Go to Solution.
@mr-dang with some additional testing I added a gallery and set its items directly to a filter of the data source and no records.
Filter(KPIData,ID>=1) produces first 500
Filter(KPIData,ID>=501) zero results in gallery.
Filter(KPIData,ID>=0 && ID<=501) produces first 500
Filter(KPIData,ID>=501 && ID<=1001) zero results in gallery.
@mr-dang I questioned whether the ID column was evaluating correctly so I created another Sharepoint list with two columns (Title, Column2). Column2 is a number field starting from 1 to 1200. I added a Gallery and set the items to the following and received the corresponding results.
Filter(NumberList, Column2>10 && Column2< 14 ) = 3 record
Filter(NumberList, Column2>=1 && Column2<=500 ) = records 1 - 500
Filter(NumberList, Column2>=500 && Column2<=502 ) = 1 record (500)
Filter(NumberList, Column2>=501 && Column2<=502 ) = Zero Records.
Filter(NumberList, Column2>500 ) = Zero Records
It appears that at least in my version of Power Apps that Sharepoint is not Delegable with Filter. Im going to start another thread and see if anyone else is seeing this.
Same Issue here, did you get to solve the problem?
@Anonymous wrote:@mr-dang I questioned whether the ID column was evaluating correctly so I created another Sharepoint list with two columns (Title, Column2). Column2 is a number field starting from 1 to 1200. I added a Gallery and set the items to the following and received the corresponding results.
Filter(NumberList, Column2>10 && Column2< 14 ) = 3 record
Filter(NumberList, Column2>=1 && Column2<=500 ) = records 1 - 500
Filter(NumberList, Column2>=500 && Column2<=502 ) = 1 record (500)
Filter(NumberList, Column2>=501 && Column2<=502 ) = Zero Records.
Filter(NumberList, Column2>500 ) = Zero Records
It appears that at least in my version of Power Apps that Sharepoint is not Delegable with Filter. Im going to start another thread and see if anyone else is seeing this.
tl;dr: See #4.
There are practices that can be done, and practices that should be done.
The solution that I provided previously was in an effort to overcome delegation limits with the connections and conditions that existed at the time. Much has changed since then and I would encourage you to subscribe to the PowerApps blog to be on top of changes as they come along.
What I will be sharing in this post is a small part of a larger conversation on information architecture and how app experiences should differ from database experiences. First, I want to point you to a 3-part series written by @Drrickryp about designing your database:
I also invite you to read Mehdi's blog on performance considerations:
https://powerapps.microsoft.com/blog/performance-considerations-with-powerapps/
Assuming you've put some of those principles in place and understand the limitations brought up, please read on.
Here's how I think of app experiences vs. viewing data on the back end:
App experiences
Backend database experiences
Big idea: You should not bring in all of the data because apps are minimal.
Given that principle, here's my personal checklist on how to think of what data to pull in--others may differ here:
User | Count |
---|---|
258 | |
108 | |
93 | |
57 | |
40 |