The filter function becomes non delegable when filtering using the complex type lookup field in CDS and shows the blue dot...
in the above screenshot... the entity contains more than 2000 records, and to test the filter function i tested it against data that falls after the first 500 records and put only 5 records that meet the criteria in the first 500 records... and the result was only the first 5 records that are in the first 500!!!
i checked the delegation article in the documentation and could not find any information about this limitation in the filter function (which could also be present in other functions like lookup and sort!!)
so please guys... help us on this issue and recheck the documentation.
I believe I found the solution after reading this article from Microsoft:
Essentially, the .Value property of the choice field has to be used so my simple example is:
Filter(Projects,ProjectType_New.Value = SearchProjectInput.Text)
This works in my more complex formula:
Filter(Projects,Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(ProjectManager_),Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(ATRF_New), Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(ProjectTitle_),Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(ProjectKeywords_),Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(ProjectSponsor_),Or(IsBlank(SearchProjectInput.Text),SearchProjectInput.Text in Text(LessonsLearnedDate_),Or(IsBlank(SearchProjectInput.Text), ProjectType_New.Value = SearchProjectInput.Text)))))))))
Thanks again for your help. I will mark this as solved!
Yes, and hi @v-micsh-msft , I'm experiencing the same frustration as @mokhawaja with the non-delegable operators. I reached the 500 recored limit in less than 3 hours today and I want to filter on these records. What's even worse is that the filter function applies the oldest records first which means the new data entered is again, unfortunately irrelevant.
Any update on this is appreciated. I've heard rumors that this may be resolved soon for CDS, but would the "fix" apply to SharePoint lists?
@v-micsh-msft, we'd love an update as to when (or if) search functions will be delegable and query beyond the 500 record limit. This is a very frustrating limitation and restricts my ability to develop using Power Apps.
For those following this string, Microsoft has published an article indicating which functions/operators are delegable:
They do not however indicate which types of fields are non-delegable. I have a formal inquiry w/ Microsoft regarding this and will post to this string as soon as I hear back.
I'm also waiting for these delegation limitations to be addressed. Those have already caused several issues in my projects where SharePoint lists are used as data sources.
I wanted to contribute an example, as I've hit this issue multiple times. My scenario involves:
When the user selects a value from the Region dropdown, On Change is set to this code:
ClearCollect(filteredLaws, Filter( AddColumns(Choices('MyTable'.'LawLookupField'),"T", LookUp([@'Law Table'],Title=Value )),T.Region.Value=dropdownRegion.Selected.Value) )
All the columns from the Law Table are listed under the column filteredLaws.T. For to display description from the Law Table in my gallery use "T.Description". I don't get the delegation warning, but I have not fully tested this on different sized datasets. I hope this helps.