Skip to main content

PowerApps Delegation Warning

Update Aug 15 2019 - Microsoft has updated PowerApps to allow for some complex SharePoint data delegation, this will hopefully resolve most issues you were seeing when working with SharePoint data: https://powerapps.microsoft.com/en-us/blog/sharepoint-delegation-improvements/

If you've tried to use the Filter, LookUp or Search actions in PowerApps you have seen the yellow warning error that shows a 'delegation warning' and you might have even ignored it because your PowerApp was working fine in testing. However once you get into larger data sets your PowerApp will have some issues so in this blog I will attempt to explain what the delegation warning is and how you can fix your PowerApp.

Delegation

So what even is Delegation in PowerApps? When doing any sort of data manipulation for an app, PowerApps will try to push the processing of that data to the source system instead of doing all of the manipulation in the app. This is done to increase the efficiency of your app and reduce the number of records that need to be retrieved. It is much quicker for a PowerApp to load only the 20 items where the criteria is met instead of loading as many as items the request returns and then filtering them down. PowerApps can use delegation for tabular data sources only such as the CDS, SharePoint, and SQL Sever.

For more information on Delegation you can reference the Microsoft documentation here: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-overview

Request Limitations

When not utilizing delegation your PowerApp is, by default, limited to 500 items returned so if you get this error and you're working with large data sets items 1-500 will be returned and anything else will not appear in your app which likely means you're not displaying all of the intended data. Take a look at the example below, the 'ID Text Column' gallery is utilizing delegation to pull in data, while the 'Lookup ID ' gallery is not, so anything past the first 500 results will not return, in this case item 1280 QA Documentation. 

Note: Item IDs in the data set utilized above starts at ID 600
You can always change the limit for returned results in your PowerApp in App settings but you will likely experience some performance issues in returning data as more items will need to be fetched so the best solution will be to fix your data if possible.

Fixing your data

At this point you may be thinking, 'Ok I am using a delegable source so why I am still seeing this error!' and it's likely because you're attempting to filter on data/a column that that is created/manipulated using a non-delegable function. To solve for this you may have to attempt to use other functions or see if you can have this data manipulation done in the source data. If neither of these are possible your only option may be to increase the data limits. While most functions don't support delegation but Microsoft calls out the following notable functions in their documentation: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-overview#non-delegable-functions
  • Table shaping
  • Fist, FirstN, Last, LastN
  • Choices
  • Concat
  • Collect, ClearCollect
  • CountIf, RemoveIf, UpdateIf
  • GroupBy, Ungroup

Unsupported SharePoint Columns

There are also a fair amount of  SharePoint columns that are not supported; so if you are filtering on one of the following column types you will get delegation warning.
  • Choice
  • Lookup
  • Dates
  • Person our Group
  • Managed Metadata
The easiest fix for this is to create a new text or number column and use Flow to sync the values between the fields, then use the new column in your filter criteria to ensure all the results are being returned. 

For a complete list of delegable functions for SharePoint data check out the Microsoft documentation here: https://docs.microsoft.com/en-us/connectors/sharepointonline/#powerapps-delegable-functions-and-operations-for-sharepoint

Hope this helps you understand the delegation warning and gives you the knowledge to help resolve any issues you may have. If you have any questions feel free to reach out on twitter: @mslavieri

Comments

Popular posts from this blog

The Behind the Scenes Scope of SharePoint News

I recently had someone ask if there was any way to disable the ability to send a SharePoint news article to an external party and after some clarification it became apparently that even with external sharing completely disabled in the tenant you can, in fact, send a preview of the article to any email address. After some research it became apparent that there is no ability to turn off this functionality which caused some concern of potential data leakage. For reference we are talking about the SharePoint news article 'Send to' functionality shown below.  While a credential is needed to access the full article, any email sent will include an article preview. The article preview doesn't show anything too worrisome as it is just the title, the first few lines of text, and an image but one area that caught my eye was the ability to add in the optional message. After some testing it does not appear that there is any length limit to the text that can be put in the summary, it got

O365 Weekly Digest - 12/30/2019

Every week I'll be posting a quick summary of O365 updates included in the admin weekly digest email that you can sign up for via the admin Message Center:  https://admin.microsoft.com/AdminPortal/Home#/MessageCenter  - these emails include items posted to the message center over the last week and come out every Monday. Updates: Kaizala is getting and updated to its custom actions for Consent Flow ( Roadmap ID: 59705 ) Outlook for Android is getting a new discover office files feature ( Roadmap ID: 58733 ) Admin Updates: What's New Management can now be seen by the Office Apps admin role ( Roadmap ID: 60009 ) Dynamics 365 is deprecated some cipher suites in May New Kaizala Admin Role( Roadmap ID: 59706 ) Email Text Dec 27 Updated Feature: Consent flow for custom Kaizala Action Major Update:  Announcement started We’re updating Kaizala custom Actions to require user consent.We'll begin rolling this out to customers in late January 2020.The rollou