Como integrar Power BI com SharePoint, Teams e Power Automate
O Power BI é o hub de Business Intelligence da Microsoft. Quando conectado ao SharePoint, Teams e Power Automate, ele…

Aplicativos do Power Apps que consomem dados do SharePoint podem ficar lentos à medida que a lista cresce.
Carregamentos demorados, formulários que “travam” e telas que demoram para renderizar são sintomas comuns — e muitas vezes o problema não está no Power Apps em si, mas na forma como ele acessa os dados.
Neste artigo, você vai aprender técnicas práticas para melhorar a performance do seu aplicativo, mesmo com listas grandes.
Antes de aplicar correções, é importante identificar os principais gargalos de desempenho:
| Causa | Sintoma | Exemplo | 
| Falta de delegação | Apenas 500–2.000 registros são retornados; app precisa “baixar” tudo para filtrar localmente | Filtro usando Or, CountIf, StartsWith sem suporte delegável | 
| Consultas repetidas | A mesma lista é carregada várias vezes (em cada tela) | Filter(SharePointList, …) em múltiplos controles | 
| Imagens e anexos grandes | App demora a carregar miniaturas | Campos Attachment ou Image com arquivos pesados | 
| Fórmulas complexas no OnStart | App inicializa com múltiplos ClearCollect() e LookUp() | Espera longa no carregamento | 
| Falta de cache local | Dados são buscados a cada navegação | Nenhum uso de variáveis ou coleções | 
Ao abrir o app, armazene os dados que serão usados com frequência:
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’);
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’);
Dica:
Concurrent(
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’),
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’)
)

Evite fórmulas que forcem o app a processar dados localmente.
O segredo é manter o filtro “delegável”, ou seja, executado pelo SharePoint.
Correto:
Filter(‘Gestão de Laudos – Amostras’, ‘TD/Protocol ID’ = varProtocolID)
❌ Evite:
Filter(‘Gestão de Laudos – Amostras’, Text(‘TD/Protocol ID’) = Text(varProtocolID))
ou
Filter(‘Gestão de Laudos – Amostras’, StartsWith(Title, varBusca))
Use Search() apenas para pequenas coleções locais.
Confira a lista de funções delegáveis:
Delegation overview – Microsoft Learn

Em vez de carregar todas as listas no OnStart, traga apenas o necessário:

O OnStart deve conter apenas o essencial para o primeiro carregamento.
Demais dados podem ser carregados sob demanda (lazy loading).
Exemplo otimizado:
Concurrent(
Set(varUser, User()),
ClearCollect(colMenu, {Title:”Home”}, {Title:”Protocolos”})
)
Evite Navigate() ou SubmitForm() dentro do OnStart.

A lentidão no Power Apps não é inevitável — é um sinal de que seu app pode ser otimizado.
Seguindo as boas práticas de delegação, cache local, carregamento sob demanda e design leve, você pode reduzir drasticamente o tempo de resposta sem mudar a experiência do usuário.
  O Power BI é o hub de Business Intelligence da Microsoft. Quando conectado ao SharePoint, Teams e Power Automate, ele…
  O Copilot só é tão bom quanto o seu modelo de dados. No Dataverse, nomes de tabelas e colunas, descrições,…
  O Power BI é uma das ferramentas mais poderosas de análise de dados da Microsoft, mas também uma das mais…