@venturemavenwil is correct - SharePoint supports delegation. However, a contains search (e.g. Search function or in operator within a Filter statement) is not delegable for SharePoint.
@ddow2788
A delegable alternative would be using the StartsWith() function as a Filter condition - this does require the user to write the name correctly. The filter no longer performs a 'contains' query.
Filter(
'Person List',
StartsWith('Last Name', 'Search Client'.Text) || StartsWith('First Name', 'Search Client'.Text)
)
In case you want to keep the contains query, another option would be prefiltering your data with a delegable condition. Think of limiting the amount of records between a certain creation date, department, role...
With(
{
//Prefilter data via a delegable query (should not return more records than your data row limit)
wPrefilter: Filter(
'Person List',
//Fictive prefilter based on a department dropdown
Department = cmbDepartment.Selected.Value
)
},
//Filter prefiltered dataset based on a non-delegable query
Search(
wPrefilter,
'Search Client'.Text,
'Last Name',
'First Name'
)
)
I generally recommend the workarounds above as they are quick & easy to implement. That does not mean these are the only options: online you may find other approaches such as fetching all records in memory by creating a collection over 2.000 records and searching the collection (which will affect app performance), using the Graph API showcased by Reza (don't have personal experience with this approach)...
If this solves your question, would you be so kind as to accept it as a solution. ✔️
If you liked my solution, please give it a thumbs up. 👍
Connect with me: LinkedIn | Blog