Prompt & Platform
Connect
HomeTopicsSnippetsDev toolsArticles
Theme
Power AppsBeginner

Delegation in canvas apps: why you only see 500 records

Understand delegation in Power Apps, spot the warning before it bites, and rewrite common formulas so they work on large Dataverse tables.

Prerequisites

  • A canvas app connected to Dataverse or SharePoint

What you'll learn

  • What delegation is and why the row limit exists
  • How to read the delegation warning
  • Rewrite common non-delegable formulas
  • Test with the row limit set low
On this page
  1. What delegation means
  2. Spot it early
  3. Common fixes
  4. Test properly
  5. Quick reference

Your gallery shows the right data in testing, then users report missing records in production. The cause is almost always delegation.

What delegation means

When a formula is delegable, Power Apps sends it to the data source — Dataverse does the filtering and returns only matching rows. When it isn't, Power Apps downloads the first rows and filters them on the device. By default that's only 500 rows (you can raise it to 2,000 in the app settings), so anything beyond that is silently ignored.

Spot it early

Power Apps shows a yellow warning triangle and a blue underline on non-delegable parts of a formula. Never ignore it on a table that can grow.

Common fixes

Searching text. Search() is delegable for Dataverse in many cases, but some patterns like in on text are not. Prefer StartsWith, which delegates well:

Power Fx
Filter(
    Accounts,
    StartsWith(Name, txtSearch.Text)        // delegable
)

Filtering on a calculated value. Build the value first, then compare — don't wrap the column in a function:

Power Fx
// Not delegable: function applied to the column
Filter(Orders, Year('Order Date') = 2026)

// Delegable: compare the column to fixed values
Filter(
    Orders,
    'Order Date' >= Date(2026, 1, 1) && 'Order Date' < Date(2027, 1, 1)
)

Counting rows. CountRows on a filtered table may not delegate. For dashboards, use a Dataverse rollup or calculated column, or a view with a count.

Test properly

Go to Settings → General → Data row limit and set it to 1 while you build. Anything that relies on local filtering will break immediately, so you find problems in minutes instead of in production. Set it back before you publish.

Quick reference

PatternDelegable on Dataverse?
Filter with =, <, > on columnsYes
StartsWithYes
Sort / SortByColumns on a columnYes
Function wrapped around a column, such as Year(Column)No
First, Last with complex filtersCheck the warning

Always confirm against the current delegation list for your data source in the Power Apps docs.

J / K next or previous article

Jagadeesan P

Found this useful? I share new guides on LinkedIn.

Follow