Como evitar problemas de delegação no Power Apps e retornar mais de 2000 itens

Por Luiz Antonio Sgargeta
Como evitar problemas de delegação no Power Apps e retornar mais de 2000 itens

Delegação é o processo em que o Power Apps envia a consulta diretamente para a fonte de dados (SharePoint, Dataverse, SQL etc.), em vez de processar os dados localmente.
Quando a função usada não é delegável, o Power Apps só consegue processar até 2000 itens — e você corre o risco de ter resultados incompletos.

Lista do SharePoint com Notas Fiscais
Formula do Power Apps com delegação

Por que existe o limite de 2000 itens?

  • O limite padrão é 500 (ajustável até 2000 em Configurações → Configurações avançadas → Limite de linhas de dados).
  • Esse limite existe para proteger a performance do app e do dispositivo do usuário.
  • Porém, em cenários reais (listas com 10 mil registros ou mais), o problema aparece com frequência.
Configuração do Power Apps para retornar 2000 itens

Como evitar erros de delegação

1. Usar funções delegáveis sempre que possível

  • Funções delegáveis variam conforme a fonte de dados.
  • Exemplo: no Dataverse StartsWith() é delegável, mas no SharePoint não.
CategoriaDelegáveis
FunçõesFilter, Search, First, LookUp
Operadores lógicosAnd (&&), `Or (
Comparação=, <>, >=, <=, >, <
Aritméticos+, -
TextoTrimEnds, StartsWith, EndsWith
OutrosIsBlank, valores constantes iguais para todos os registros

⚠️ Observação sobre In

  • Delegável quando aplicado a colunas da tabela principal
    • Filter(Accounts, Name in ["name1","name2"])
  • Não delegável em colunas de tabelas relacionadas
    • Filter(Accounts, PrimaryContact.Fullname in ["name1","name2"])

2. Paginar resultados em blocos de 2000 registros

Exemplo para SharePoint:

ClearCollect(
   colRequisicoes,
   ForAll(
      Sequence(
         RoundUp(CountRows('Requisições')/2000,0),
         1,
         1
      ),
      Filter(
         'Requisições',
         ID > (Value-1)*2000 && ID <= Value*2000
      )
   )
)

👉 Isso divide a consulta em lotes de 2000, permitindo carregar 10 mil, 20 mil ou mais registros.

Fórmula do Power Apps para paginar resultados

3. Usar “Carregar mais” (Lazy Load)

Se não for necessário carregar tudo de uma vez:

Collect(
   colRequisicoes,
   FirstN(
      Skip('Requisições', CountRows(colRequisicoes)),
      2000
   )
)
  • Exiba um botão “Carregar mais”.
  • O usuário adiciona registros aos poucos.
Fórmula do Power Apps para obter mais resultados

4. Criar Views no SQL ou usar Dataflows do Power BI

  • Para bases muito grandes, é melhor pré-filtrar os dados na origem.
  • No SQL: crie uma View com filtros aplicados.
  • No Power BI: use Dataflows para transformar os dados e consumir no app.

Boas práticas para lidar com delegação

  • Sempre filtre na origem: nunca traga tudo sem necessidade.
  • Use índices no SharePoint: aumentam performance de filtros delegáveis.
  • Teste em mobile: apps podem travar em dispositivos com menos memória.
  • Monitore no Power Apps Monitor: veja se consultas estão sendo delegadas ou não.

Conclusão

Delegação é um dos principais desafios no Power Apps.
Com as técnicas certas — uso de funções delegáveis, paginação, carregamento incremental ou pré-filtragem no SQL/Power BI — você consegue superar o limite de 2000 itens sem comprometer a performance.

Pronto para levar seus apps no Power Platform para o próximo nível?
Na Trinapse, ajudamos empresas a construir soluções seguras, escaláveis e de alta performance no Power Apps, Power Automate e SharePoint.

Entre em contato conosco e descubra como podemos transformar a forma como sua equipe trabalha.

Ver mais artigos

Entre em Contato

Vamos juntos transformar sua dor
em solução!

#moveFast