Hi all,
I am trying to connect to a SharePoint list and filter by user().email=person.email()
Filter('Active Field Leadership', 'Performed By'.Email=User().Email)
I previously had it wrapped in a Sort by columns function
SortByColumns(Filter('Active Field Leadership', 'Performed By'.Email=User().Email), "Date", SortOrder.Descending)
i have been using a filter() query in my browse screen, but I think it has maxed out on the number of entries in the list.
How can I create a connection to the list that only pulls the list items of the user, rather than pulling all items and trying to filter?
Hi @Anonymous
I tried using refresh() in two places
- App -> Action -> On start
- BrowseGallery1 -> Data -> Items (as part of my existing query above )
Taking ages to load and still only getting older items.
I checked and my ahrepoint list currently has 891 entries.
Any other ideas, or should I try the refresh somewhere else?
Hi @Anonymous ,
Kindly check that the Data Row limit for Non-Delegable queries is set to 2000, this is the max value that can be entered by the user and works upto 2000 records out of all using the Filter query. The soft limit is 500 which can be updated to 2000 records.
Settings:
Navigate to File -> App Settings -> Advanced Settings -> Look for Data Row limit for Non-Delegable queries
Hope this helps!
Hi @Anonymous ,
In that case you can use collections:
If you more than 2000 records and want to use a local collection then follow below steps:
a) We will use the ID field to get the records
b) create a collection to store the number of loop count:
ClearCollect(LoopCount,FirstN([0, 2000, 4000, 6000, 8000, 10000],RoundUp(First(Sort(<<YourSPList>>,ID,Descending)).ID/2000,0)));
c) Now work on the main collection to get all the data, this can be done through OnVisible property of the page.
Clear(ListItems);
ForAll(LoopCount,Collect(ListItems,Filter(<<Sp LIST>>,ID> Value)));
d) Once all the data is inside the collection, filter out the gallery items based on the collection created using the same formula rather than referring to the data source directly.
Hope this Helps!
Ok, I have tried this in
-> App ->Action ->On Start
AND ->BrowseGallery1->Action->OnVisable
ClearCollect(LoopCount,FirstN([0,2000,4000,6000,8000,10000],RoundUp(First(Sort('Active Field Leadership',ID,Descending)).ID/2000,0)));
Clear(ListItems);
ForAll(LoopCount,Collect(ListItems,Filter('Active Field Leadership','Performed By'.Email=User().Email)))
All I get is collections with no records...what am doing wrong?
Hi @Anonymous
ClearCollect(LoopCount,FirstN([0,2000,4000,6000,8000,10000],RoundUp(First(Sort('Active Field Leadership',ID,Descending)).ID/2000,0))); Clear(ListItems); ForAll(LoopCount,Collect(ListItems,Filter('Active Field Leadership','Performed By'.Email=User().Email && ID > Value)))