Conteúdos de dados pequenos – limitar o volume de dados obtidos
Um dos padrões mais importantes para aplicativos de dados empresariais é limitar o tamanho dos dados buscados no Power Apps. Se os conteúdos de dados forem pequenos, quase todo o resto fica mais fácil. Os controles Gallery e Table fazem isso automaticamente quando você se conecta diretamente à fonte de dados na propriedade Items. Por exemplo, quando conectado diretamente a uma fonte de dados remota, um controle Gallery pagina dados em incrementos pequenos, por exemplo, 100 registros. Esse padrão aproveita o fato de que um usuário final raramente precisa de mais de cem registros para uma tarefa do usuário.
Usar delegação
Uma maneira importante de manter os conteúdos de dados pequenos é contar com a fonte de dados a fim de trabalhar para você antes de chegar ao Power Apps. Delegation é quando o Power Fx consegue traduzir uma expressão do Power Fx em uma expressão de consulta que uma fonte de dados, como Dataverse, SQL Server, SharePoint e Excel, pode processar sozinha. E, então, o Power Fx delega essa consulta, ou dá a responsabilidade de fazer o trabalho de consulta, o mashup de dados, para a fonte de dados. A fonte de dados produz os dados corretos e os retorna para o Power Apps.
Quando a fonte de dados é associada diretamente a uma galeria ou tabela, os dados são paginados ou devolvidos para o Power Apps em incrementos pequenos de desempenho de 100 registros. As fontes de dados diferentes 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 dá suporte a CountRows de maneira limitada. O Dataverse calcula periodicamente o tamanho da tabela e mantém esse valor. Quando CountRows é chamado, você recebe esse valor. Assim, não é necessário realizar uma verificação de tabela completa para obter o número exato de cada chamada CountRows. Porém, o Dataverse também dá suporte a uma contagem exata com CountIf de até 50.000 linhas. Ele fornece esses dois recursos diferentes como uma maneira de ajudar a preservar o bom desempenho do servidor do Dataverse. Por outro lado, o SharePoint não dá suporte a essa função. Por isso, uma expressão do Power Fx com CountRows ou CountIf para SharePoint não é delegada. Em vez disso, o Power Apps baixa um número limitado de linhas, de 500 a 2.000. O Power Fx trabalha localmente nos 500/2.000 registros e retorna um resultado. Se os dados sempre forem inferiores a 500/2.000 registros, essa abordagem poderá funcionar. Mas, se for superior a 500/2.000 registros, você poderá obter resultados incorretos.
Evitar muitas colunas
Por padrão, o Power Apps calcula as colunas reais necessárias para uma determinada consulta usando uma chamada de recurso Seleção de Coluna Explícita. Esse recurso permanece ativado por padrão para todos os novos aplicativos. Para ativar o recurso de seleção de coluna explícita no aplicativo de tela, vá até Configurações > Futuros recursos > Versão preliminar> ative a alternância Seleção de coluna explícita.
Sugestões
Para atingir a meta de um conteúdo de dados pequeno, leve em consideração as seguintes perguntas e sugestões:
Procure a consulta padrão de uma galeria ou tabela para só retornar aproximadamente de 100 a 200 registros. Se você usar uma consulta delegável, isso acontecerá automaticamente. Se você estiver consultando uma API ou outra fonte que não dê suporte à delegação, use parâmetros para refinar os resultados.
- Leve em consideração o uso de uma exibição baseada em fonte de dados que filtra automaticamente os dados. A maioria dos aplicativos de nível empresarial usa muito exibições na fonte de dados.
- Leve em consideração o uso dos valores de pesquisa ou filtro padrão para definir o escopo dos dados.
- Leve em consideração a exigência dos argumentos de pesquisa na interface do usuário antes de mostrar os dados.
- Leve em consideração essas perguntas sobre o aplicativo:
- O que é necessário em uma determinada tela por padrão?
- De quais dados o usuário final realmente precisa para realizar uma determinada ação de negócios?
- Os usuários normalmente não precisam de milhares de registros em uma tela inicial para realizar uma tarefa.
Comece a compilar a consulta para uma galeria ou tabela usando as tabelas de delegação para a fonte de dados. Só escolha as funções compatíveis para a consulta. Se a consulta não for delegável, o que você poderá fazer para torná-la delegável?