Partilhar via


Payloads de dados pequenos — limite a quantidade de dados que obtém

Um dos padrões mais importantes para aplicações de dados empresariais é limitar o tamanho dos dados que obtém para o Power Apps. Se os payloads de dados forem pequenos, quase tudo o resto fica mais fácil. Os controlos Galeria e Tabela fazem isto automaticamente quando se liga diretamente à origem de dados na propriedade Items. Por exemplo, quando ligado diretamente a uma origem de dados remota, um controlo Galeria pagina dados em pequenos incrementos, por exemplo, 100 registos. Esta predefinição tira partido de um utilizador final raramente precisar de mais de cem registos para uma tarefa de utilizador.

Utilizar a delegação

Uma maneira importante de manter os payloads de dados pequenos é contar com a origem de dados para trabalhar por si antes de chegarem ao Power Apps. Delegação é quando o Power Fx pode traduzir uma expressão do Power Fx numa expressão de consulta que uma origem de dados como o Dataverse, o SQL Server, o SharePoint e o Excel podem processar sozinhos. E, em seguida, o Power Fx delega essa consulta, ou dá a responsabilidade de fazer o trabalho da consulta, ao mashup de dados, para a origem de dados. A origem de dados produz os dados corretos e devolve-os para o Power Apps.

Quando a origem de dados é vinculada diretamente a uma galeria ou tabela, os dados são paginados ou devolvidos ao Power Apps em pequenos incrementos de desempenho de 100 registos. Diferentes origens de dados têm capacidades diferentes. O Dataverse, por exemplo, tem muito mais capacidades para filtrar dados no servidor do que o Excel. Um bom exemplo é CountRows e CountIf. O Dataverse suporta CountRows de forma limitada. O Dataverse calcula o tamanho da tabela periodicamente e mantém esse valor. Quando CountRows é chamado, recebe esse valor. Dessa forma, não é necessário realizar uma análise de tabela completa para obter o número exato de cada chamada de CountRows. Mas o Dataverse também suporta uma contagem exata com CountIf de até 50.000 linhas. Fornece estas duas capacidades diferentes como forma de ajudar a preservar o bom desempenho do servidor do Dataverse. Por outro lado, o SharePoint não suporta esta função. Portanto, uma expressão do Power Fx com CountRows ou CountIf para o SharePoint não é delegada. Em vez disso, o Power Apps transfere um número limitado de linhas, de 500 a 2000. O Power Fx trabalha nos 500/2000 registos localmente e obtém um resultado. Se os seus dados forem sempre inferiores a 500/2000 registos, esta abordagem poderá funcionar. Mas se for superior a 500/2000 registos, poderá obter resultados incorretos.

Evite demasiadas colunas

Por predefinição, o Power Apps calcula as colunas reais necessárias para uma determinada consulta usando uma chamada de caraterística de Seleção Explícita de Colunas. Esta caraterística está ativada por predefinição para todas as novas aplicações. Para ativar a caraterística de seleção explícita de colunas na aplicação de tela, aceda a Definições > Caraterísticas futuras > Pré-visualização> ative o comutador de Seleção explícita de colunas.

Sugestões

Para atingir o objetivo de um payload de dados pequeno, considere as seguintes perguntas e sugestões:

  1. Procure que a consulta predefinida para uma galeria ou tabela retorne apenas, aproximadamente, 100 a 200 registos. Se usar uma consulta delegável, isto acontecerá automaticamente. Se estiver a consultar uma API ou outra origem que não oferece suporte delegação, use parâmetros para refinar os resultados.

    • Considere usar uma vista baseada em origem de dados que filtra automaticamente os dados. A maioria das aplicações de nível empresarial faz uso intenso de vistas na origem de dados.
    • Considere usar valores de procura ou valores de filtro para definir o âmbito dos dados.
    • Considere exigir argumentos de pesquisa na IU antes de mostrar os dados.
    • Considere estas questões sobre a sua aplicação:
      • Por predefinição, o que é necessário num determinado ecrã?
      • De que dados o utilizador final realmente precisa para realizar uma determinada ação comercial?
      • Geralmente, os utilizadores não precisam de milhares de registos num ecrã inicial para realizar uma tarefa.
  2. Comece a criar a sua consulta para uma galeria ou tabela usando as tabelas de delegação para a sua origem de dados. Escolha apenas as funções suportadas para a sua consulta. Se a sua consulta não for delegável, o que pode fazer para torná-la delegável?