Hi,
I'm looking for help to filter a Sharepoint List with over 10,000 rows and growing daily with hundreds more, by the Created 'Day', or whatever it applies, to speed up the loading time and prevent Delegation Warnings.
Explanation of the scenery:
The Evaluations_Details List has over 10,000 rows which consist of the Answers of Evaluation_Points made on several Evaluations.
My Lists are:
Sharepoint List - Evaluations (have nearly 1,000 records to date, and approx 100 new per Week)
ID|Location ID|Supervisor (single line string)|Created By (default column)|Created (default column)
Sharepoint List - Evaluation_Points (have 24 records to date, and nearly no changes)
ID|Active (true/false)|Evaluation_Objetive
Sharepoint List - Evaluations_Details (over 10,000 records and over 100 new records per workday)
ID|ID_Evaluation|Response (single line string)|ID_Evaluation_Points|Created By (default column)|Created (default column)
Currently, before knowing it would escalate this much, I just used to filter all the responses to location X, but now that there are over 80 different Evaluations in each location, almost 100 different locations, AND every Location considering the 24 mandatories Evaluations_Points that stores in Evaluation_Details a row per each, the app is starting to lag/freeze/taking up to 15 seconds to load any screen.
Considering:
- On App.OnStart is filtered the Locations associate with a specific Supervisor
- On the First View, a DataGallery shows all the Evaluations created by that person and the user chooses which one to fill / register/read responses
- On the Second View, it is possible to VIEW in another DateGallery all the details about the unique inspection selected
- On the Second View, also, it is possible to view in a FormViewer has all the information related to each response with a Filter from the first DataViewer.
- On the Second View, at OnVissible is where I am currently filtering with this formula/Collection:
ClearCollect(ColeccionDeResponses,Filter(Evaluations_Details,ID_Evaluation = Text(Gallery_Browser_Evaluations.Selected.ID)));
ClearCollect(
ActiveEvaluationsPoints,
Filter(
Evaluation_Points,
Activa = 1
)
)
Also attached the app to this; the app variables are mostly in Spanish due to the language of my inner customers but translate for the purpose of this threat.
Thanks for any improvement possible to this.