Práticas recomendadas para projetar e desenvolver fluxos de dados complexos

Se o fluxo de dados que você está desenvolvendo estiver ficando maior e mais complexo, aqui estão algumas coisas que você pode fazer para melhorar seu design original.

Desmá-lo em vários fluxos de dados

Não faça tudo em um fluxo de dados. Não apenas um único fluxo de dados complexo torna o processo de transformação de dados mais longo, mas também torna mais difícil entender e reutilizar o fluxo de dados. Dividir o fluxo de dados em vários fluxos de dados pode ser feito separando entidades em fluxos de dados diferentes ou até mesmo uma entidade em vários fluxos de dados. Você pode usar o conceito de uma entidade computada ou entidade vinculada para criar parte da transformação em um fluxo de dados e reutilizar em outros fluxos de dados.

Dividir fluxos de dados de transformação de dados de fluxos de dados de preparação/extração

Ter alguns fluxos de dados apenas para extrair dados (ou seja, fluxosde dados de preparação) e outros apenas para transformar dados é útil não apenas para criar uma arquitetura multicamada, mas também é útil para reduzir a complexidade dos fluxos de dados. Algumas etapas apenas extraem dados da fonte de dados, como obter dados, navegação e alterações de tipo de dados. Ao separar os fluxos de dados de preparação e os fluxos de dados de transformação, você simplifica o desenvolvimento dos fluxos de dados.

Arquitetura de fluxo de dados multicamadas.

Imagem mostrando os dados que estão sendo extraídos de uma fonte de dados para fluxos de dados de preparação, em que as localidades são armazenadas no Dataverse ou no armazenamento do Azure Data Lake, em seguida, os dados são movidos para fluxos de dados de transformação em que os dados são transformados e convertidos na estrutura data warehouse e, em seguida, os dados são movidos para o conjuntos de dados.

Usar funções personalizadas

As funções personalizadas são úteis em cenários em que um determinado número de etapas precisa ser feito para várias consultas de fontes diferentes. As funções personalizadas podem ser desenvolvidas por meio da interface gráfica Editor do Power Query ou usando um script M. As funções podem ser reutilizadas em um fluxo de dados no máximo de entidades necessárias.

Ter uma função personalizada ajuda tendo apenas uma única versão do código-fonte, para que você não tenha que duplicar o código. Como resultado, manter a lógica Power Query de transformação e todo o fluxo de dados será muito mais fácil. Para obter mais informações, consulte a seguinte postagem no blog: Funções personalizadas facilitadas no Power BI Desktop.

Funções personalizadas.

Colocar consultas em pastas

O uso de pastas para consultas ajuda a agrupar consultas relacionadas. Ao desenvolver o fluxo de dados, gaste um pouco mais de tempo para organizar consultas em pastas que fazem sentido. Usando essa abordagem, você pode encontrar consultas com mais facilidade no futuro e manter o código será muito mais fácil.

Usar entidades computadas

As entidades computadas não apenas torna seu fluxo de dados mais compreensível, mas também fornecem melhor desempenho. Quando você usa uma entidade computada, as outras entidades referenciadas dela estão recebendo dados de uma entidade "já processada e armazenada". A transformação será muito mais simples e rápida.

Aproveitar o mecanismo de computação aprimorado

Para fluxos de dados desenvolvidos no portal de administração do Power BI, certifique-se de fazer uso do mecanismo de computação aprimorado executando junções e transformações de filtro primeiro em uma entidade computada antes de fazer outros tipos de transformações.

Quebrar muitas etapas em várias consultas

É difícil acompanhar um grande número de etapas em uma entidade. Em vez disso, você deve quebrar um grande número de etapas em várias entidades. Você pode usar Habilitar Carregamento para outras consultas e desabilitá-las se elas são consultas intermediárias e carregar apenas a entidade final por meio do fluxo de dados. Quando você tem várias consultas com etapas menores em cada uma, é mais fácil usar o diagrama de dependência e acompanhar cada consulta para investigação posterior, em vez de se aprofundar em centenas de etapas em uma consulta.

Adicionar propriedades para consultas e etapas

A documentação é a chave para ter um código fácil de manter. No Power Query, você pode adicionar propriedades às entidades e também às etapas. O texto que você adicionar nas propriedades será aparecer como uma dica de ferramenta quando você passar o mouse sobre essa consulta ou etapa. Esta documentação ajudará você a manter seu modelo no futuro. Com uma relance em uma tabela ou etapa, você pode entender o que está acontecendo lá, em vez de pensar e lembrar o que fez nessa etapa.

Verifique se a capacidade está na mesma região

No momento, os fluxos de dados não são suportados por vários países ou regiões. A capacidade Premium deve estar na mesma região que seu locatário do Power BI.

Separar as fontes locais das fontes na nuvem

Recomendamos que você crie um fluxo de dados separado para cada tipo de fonte, como local, nuvem, SQL Server, Spark e Dynamics 365. A separação de fluxos de dados por tipo de origem facilita a solução de problemas rápida e evita limites internos ao atualizar seus fluxos de dados.

Separar fluxos de dados com base na atualização agendada necessária para entidades

Se você tiver uma tabela de transações de vendas que é atualizada no sistema de origem a cada hora e tiver uma tabela de mapeamento de produtos que é atualizada toda semana, quebre esses dois em dois fluxos de dados com diferentes agendas de atualização de dados.

Evite agendar a atualização para entidades vinculadas no mesmo workspace

Se você estiver sendo bloqueado regularmente dos fluxos de dados que contêm entidades vinculadas, isso poderá ser causado por um fluxo de dados dependente correspondente no mesmo workspace bloqueado durante a atualização do fluxo de dados. Esse bloqueio fornece precisão transacional e garante que ambos os fluxos de dados sejam atualizados com êxito, mas isso pode impedir a edição.

Se você configurar um agendamento separado para o fluxo de dados vinculado, os fluxos de dados poderão ser atualizados desnecessariamente e impedir que você edite o fluxo de dados. Há duas recomendações para evitar isso:

  • Não de definido um agendamento de atualização para um fluxo de dados vinculado no mesmo workspace que o fluxo de dados de origem.
  • Se você quiser configurar um agendamento de atualização separadamente e quiser evitar o comportamento de bloqueio, mova o fluxo de dados para um workspace separado.