Power FX Delegation in SharePoint
“Delegation” is the ability of Power Apps to say to the server: “You filter these 10 million records and give me only the 5 I need”.
SharePoint has severe limitations with this. Many functions are not delegable, meaning Power Apps has to download the first 500 (configurable up to a maximum of 2000 in app settings) records and filter them locally. If your data is in record 2001, you will never see it.
Common non-delegable functions
- Complex date manipulation (e.g.,
Month(DateColumn)). - Complex text searches (e.g.,
Searchon numeric columns).
Solution: Calculated Columns or Defaults
Instead of calculating at runtime, prepare the data.
// ❌ Non-delegable (asks for everything and filters locally)
Filter(Orders, Year(Created) = 2024)
// ✅ Delegable (passes a date range to the server)
Filter(Orders, Created >= Date(2024,1,1) && Created <= Date(2024,12,31))// ❌ Non-delegable (asks for everything and filters locally)
Filter(Orders, Year(Created) = 2024)
// ✅ Delegable (passes a date range to the server)
Filter(Orders, Created >= Date(2024,1,1) && Created <= Date(2024,12,31))You’ve probably encountered the yellow warning triangle ⚠️ everywhere, but don’t hate it; it’s a good snitch. Use it to know where to optimize your apps.a lección aprendida.