Hi @haniel ,
Actually, your this formula should be right:
Collect(myCollection, Filter(SPlist, User().Email in Reviewers.Email)
But "in" and User() is not delegable in sharepoint list.
Could you tell me how many records in your sharepoint list?
Do you mean that you do not want to change non-delegable limit? You just want to set it to 500?
If your record in sharepoint list is less than 500, then delegation problem will not affect your app performance.
If your record is more than 500, then we need to figure out the problem of delegation.
Since Concat is not delegable neither, so I not recommend you use this function.
I suggest you save sharepoint data in collection, then filter the collection.
Because collection does not have the problem of delegation.
Try this:
ClearCollect(collection,SPlist);
Collect(myCollection, Filter(collection, User().Email in Reviewers.Email)
One collection could store more than 10000 records.
If your records are too large, you could consider saving data to several collections, then filter them one by one.
For example:
ClearCollect(collection1,Filter(SPlist,ID<=10000);
ClearCollect(collection2,Filter(SPlist,ID>10000),ID<=20000);
.... //save to multiple collections
Collect(myCollection1, Filter(collection1, User().Email in Reviewers.Email);
Collect(myCollection2, Filter(collection2, User().Email in Reviewers.Email);
....//filter based on different collections
Collect(alldata,myCollection1,myCollection2,....)
//save them together in one collection
Here's a table about delegable functions of sharepoint list:
| Item |
Number |
Text |
Boolean |
DateTime |
Complex [1] |
| Filter |
Yes |
Yes |
Yes |
No [4] |
Yes |
| Sort |
Yes |
Yes |
Yes |
Yes |
No |
| SortByColumns |
Yes |
Yes |
Yes |
Yes |
No |
| Lookup |
Yes |
Yes |
Yes |
No |
Yes |
| = |
Yes |
Yes |
Yes |
No [4] |
Yes |
| <, <=,<>, >, >= |
Yes [2] |
No |
No |
No |
Yes |
| StartsWith |
- |
Yes |
- |
- |
Yes |
| IsBlank |
- |
No [3] |
- |
- |
No |
Other functions are all not delagable (in,User(),Concat..)
Best regards,