Delegation with SharePoint lists warnings in Power Apps
Table of Contents
In Power Apps there are quite a few delegation warnings that you can get.
And when we hover over that blue line we will see that the Not function isn’t delegable within Power Apps.
Looking at the SharePoint connector documentation we quite quickly find out what all the issues are that we might hit when we see those blue lines.
But how about Power Automate.
Delegation in Power Automate
If we try the Get Items action in the experimental UI then we will find that the not equals is not available. Is this because of the delegation issues found within Power Apps? Or is this just one of those pains in Power Automate?
Then of course we have to try this in the non experimental UI as well.
And when we run this flow it actually just works. I’m getting the result that I’m expecting back.
This is probably also a good moment for a very large warning! If you switch between experimental features on and off then your flows will show the wrong filter. As the ne is simply replaced by Equals in the experiment UI. Luckily when you save the flow the not equals is saved. So it isn’t too bad other than that the UI is getting confused.
Querying large lists
Now if we create a list with 6000 items ( or any number larger than 5000). Then we will find that querying beyond the 5000 items will simply fail.
This isn’t immediately something to do with delegation. This is just SharePoint stopping us querying beyond 5000 items.
Checking our SharePoint list settings, we will find that there isn’t an index on the Title column.
Creating an index on the Title column means that we can query beyond the 5000 items.
And even if we now use an not equals comparison in the OData filter query, we will get the right items back.
To make the equivalent query work in Power Apps, you would probably have to do something like this:
Where the Power Apps method is all about avoiding delegation warnings. Power Automate simply seems to work with the SharePoint indexes. This gives us the option to use Power Automate to do the querying instead of avoiding delegation issues in Power Apps