I am working with powerapps and sharepoint list wich contains more than 5000 rows. I created the app i wanted with IN and RemoveIf function. Everything is working with less than 2000 rows in my sharepoint list.
BUT it not works with more than 2000 rows because the functions are Not Delegable.
Please, is there any solution to fix this problem ?
I would like to do this two things (separately) :
- I must to update several items in one shot
- I must to only display the items of my sharepoint list wich have a SerialNumber present in a gallery wich contains filtered items of another sharepoint list. (The two list have a common collumn : SerialNumber).
THANKS for your help,
and Have a good day!!
The key to fixing these issues is to use delegation. If you pre-filter the set of records you want to work on using a delegable function then you can ignore the delegation warnings for outer functions. For example Assume you have a data source that contains people, street addresses, and a multichoice field. You want to filter based on a selection in the multi-choice field, but that requires 'In' which isn't delegable. if you filter first based on something like the state abbreviation then you can apply the 'in' to the resulting set because its already below the delegable maximum. That would look like this.
Filter(Filter('data source', State = 'OH'), choice in multichoicefield)
That kind of pre-filtering is the only way to really get around delegation limitations. The only other solution is to use a data source, like SQL or CDS where 'in' is delegable.
I found another workaround for delegation issues.
I insert a gallery named gallery1
Items : 'liste sharepoint' (alls value are read, but you also can filter this))
visible = false
I insert an othher gallery named gallery2
Items : Filter(gallery1, textInput.Text in ColumnName).
You can try this solution et apply non-delegable functions as the same
Unless you use a delegable filter in the hidden gallery, that won't help because the hidden gallery won't load all the items. Using a delegable function in the hidden gallery is essentially the same solution as what I suggested where you nest a delegable filter inside the non-delegable filter. That achieves the same thing without wasting time loading a hidden gallery.
Pure madness IMHO. In case you want to back this idea...
The problem is that there is no way to change Power Apps to make a function delegable. The delegation support has to exist in the data source already. If SharePoint can't natively do a RemoveIf() there is no way to make it delegable.
@Pstork1 From a technical point of view you are absolutely correct (and I might create a User Voice entry in SharePoint, too), but as a PowerApps dev I "just want a delegable RemoveIf()" :-)))
The last improvement was released august 2019
It's time for some more improvements IMHO.
Check out our new profile badges recognizing authored solutions!
We are excited to announce the Power Apps Super Users!
Did you miss the call? Check out the Power Apps Community Call here.
Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!