Hello Powerapps users.
I built a canvas app for our field supports technicians and it works with 4 SharePoint lists:
- detailsList (~15000 records) - ~2000 new records every month.
- devicesList (~800 records)
- departmentsList (~1000 records)
- customersList (few dozens)
On 1 of the screens, I want to present a filtered list, and add information from different lists (similar to join action).
i.e: filter the devicesList into a gallery, with 2 filters. Then, each item in the gallery should have a few fields from the detailsList and departmentsList.
I managed to do that, but when my devicesList filter returns more than ~30 items, the application is very slow and gets stuck.
I tried the next ideas but non of them solved the slowness of the app:
- used addColumns to connect between the lists
- set the columns I use as Index columns (in SharePoint list)
- get the data to collection and work on the collections
- use delegated filters
I would really appreciate it if someone could give my ideas what needs to be changed in order for it to work w/o slowness or app stucks.
my code for the Gallery.Items is:
SortByColumns(
AddColumns(
Filter(
devicesList, /* I tried also with collection*/
!devicesList.needsReplacement && !devicesList.replaced
),
"lastVisitDate",
Text(
First(
Filter(
detailsList,
customerID = DataCardValue_customerID.Text && deviceID = devicesList.deviceID
)
).Visitdate,
"mm.dd.yyyy"
)
),
"lastVisitDate",
If(
SortAscending,
Descending,
Ascending
)
)
example for the items I inserted to the gallery:
Concatenate(
"department: ",
First(
Filter(
depatrmentsList,
Text(ID) = First(
Filter(
detailsList,
customerID = DataCardValue_customerID.Text && deviceID = ThisItem.deviceID
)
).departmentID
)
).departmentID
)