Escrito por Giovanna Gadelha,

7 minutos de leitura

Power BI Dataflow: no conceito e na prática

Saiba como criar uma arquitetura sustentável com o Power BI Microsoft.

Compartilhe este post:

Em cenários corporativos que possuem a cultura data driven em sua organização, é utilizado Business Intelligence (BI) para tomadas de decisão e para ações estratégicas. Em empresas com esta abordagem é de extrema importância que o setor de TI e de negócios estejam alinhados, para que dessa forma possam extrair da ferramenta utilizada o máximo de valor e benefícios possíveis para a organização. Atualmente, o Power BI Microsoft é a principal ferramenta de BI Corporativo, trazendo diversas funcionalidades que auxiliam a organizar relatórios complexos, com cruzamento de dados e fontes de diferentes locais. No entanto, para que as funcionalidades sejam aproveitadas de maneira eficiente, é necessário criar uma arquitetura sustentável que mantenha a governança adequada das informações.

O que são os Fluxos de Dados / Data Flow?

Os fluxos de dados do Power BI, ou Power BI Data Flow, é o componente de transformação de dados do Power BI. Basicamente, é um processo do Power Query executado na nuvem. Ele independe do conjunto de dados e do relatório, o exemplo abaixo demonstra a separação entre a entidade de armazenamento e os relatórios, conjunto de dados e dashboards.

Figura 1. Arquitetura do Data Flow

 

O Data Flow é utilizado para criar uma lógica de transformação de dados reutilizáveis para vários conjuntos de dados e relatórios dentro do Power BI, pois eles permitem a reutilização de dados, evitando, dessa maneira, a necessidade de criar conexões separadas. Além disso, pode ser utilizado para criar uma única fonte de revelação, o que gera o controle dos acessos aos dados, identificando como os mesmos estão sendo utilizados nos relatórios. E por fim, um dos principais usos, é evitar que os usuários / analistas tenham acesso direto a fonte de dados, reduzindo o carregamento para os sistemas, sejam eles arquivos ou banco de dados e também, oferecendo um controle maior de quando esses sistemas serão carregados para atualização.

 

O que são os Conjuntos de Dados / Datasets?

Diferente do Data Flow, os Conjuntos de Dados, ou Datasets, é o componente que contém a conexão com a fonte de dados, as tabelas de dados, os próprios dados, o relacionamento entre as tabelas e os cálculos DAX, ou medidas. Quando publicamos o relatório no Power BI Online é criado o conjunto de dados, ou seja, é possível visualizar de forma direta a criação do Dataset e reutilizá-lo em outros relatórios, como mostra a imagem abaixo.

Figura 2. Exemplo de conjunto de dados

 

No exemplo acima, foi importado o relatório “Projeto Olimpíadas 2021” e, automaticamente, foi criado o Conjunto de Dados que corresponde a modelagem utilizada neste trabalho. Assim, o uso dos Datasets se dá justamente por essa capacidade de reutilizar a camada de modelo de dados criada em diferentes relatórios, excluindo a chance de duplicação de dados e permitindo a atualização dos mesmos de acordo com a necessidade de cada um. Além disso, também não é necessário recriar medidas, tornando o ambiente mais sustentável, integrado e otimizado.

 

Quais as diferenças entre eles?

A partir da definição do que é Data Flow e Dataset do Power BI, é possível elencar as diferenças entre esses componentes e como eles se relacionam, para que seja possível entender como seria uma boa arquitetura utilizando essas duas ferramentas em cenários com grandes volumes de dados e divisões organizacionais.

+++ A primeira diferença nos diz o que esses objetos substituem e / ou representam no Power BI Online. Enquanto o Data Flow é o Power Query na nuvem, contextualizando de forma direta, o Dataset é a substituição de medidas / cálculos DAX e dos relacionamentos entre tabelas.

+++ De acordo com a primeira diferença, conseguimos entender que o Data Flow corresponde a Camada de ETL, ou seja, corresponde a transformação de dados em sua implementação do Power BI. E o Dataset corresponde a camada de modelagem, ou seja, ele irá consumir dados de uma fonte e irá modelá-los na memória usando o mecanismo do Power BI.

+++ Com isso, é possível compreender mais uma distinção entre os componentes. O Data Flow alimenta dados no Dataset, enquanto o Dataset alimenta dados em visualizações.

+++ Outro fator importante é que o Data Flow acessa a fonte de dados diretamente, já o Dataset pode acessar os dados do Data Flow.

+++ Por fim, entende-se que enquanto o Data Flow resolve o problema de ter várias versões da mesma tabela em diferentes arquivos PBIX, o Dataset resolve o problema de ter várias versões do mesmo código DAX em arquivos PBIX diferentes.

Com isso, entende-se que o Data Flow e Dataset não são a substituição um do outro e sim o complemento entre eles. A partir do conceito desses dois componentes, o entendimento dos usos e da diferença entre cada um é possível imaginar uma arquitetura simples e sustentável. Apesar de cada contexto ter suas limitações, complexidades e organização própria, o quê muitas vezes dificulta a implementação é sempre necessário buscar uma estrutura eficiente para que, com isso, seja extraído o máximo possível de valor e qualidade dos produtos oferecidos pelo Power BI. Um exemplo de arquitetura ideal está representado na imagem abaixo.

Figura 3. Arquitetura indicada para um ambiente de Power BI

 

Como criar um Data Flow?

Para criar um fluxo de dados é necessário iniciar o serviço do Power BI em um navegador e entrar em um Workspace de sua preferência. É importante ressaltar que os fluxos de dados não podem ser criados no My Workspace, somente em Workspaces criados. Com isso, basta seguir os passos abaixo.

1. Criação do fluxo de dados

O primeiro passo é, dentro do Workspace escolhido, clicar na opção de Novo → Fluxo de Dados.

 

Em seguida, é necessário escolher o tipo de criação ou compilação do fluxo de dados. Sendo as seguintes opções possíveis:

+++ Criar um fluxo de dados usando a opção Definir novas tabelas
+++ Criar um fluxo de dados usando tabelas vinculadas
+++ Criar um fluxo de dados usando uma tabela computada
+++ Criar um fluxo de dados usando importação/exportação

Nesse tutorial será utilizado a primeira opção.

 

2. Escolha e conexão da fonte de dados

Em seguida, há diferentes opções para a escolha da fonte de dados. As opções são mais limitadas quando comparadas ao Power BI Desktop. No entanto, na maioria dos casos, é possível utilizar a linguagem M para conectar a uma fonte de dados semelhante àquelas que o Power BI Desktop disponibiliza.

 

Iremos utilizar a opção API WEB, para isso basta clicar nessa opção no menu de escolha da fonte de dados. Após isso, nas configurações de conexão basta colocar a URL da API escolhida e em credenciais de conexão não é necessário configurar neste momento. Por fim, clique em Próximo.

 

3. Transformado os dados

Após a conexão com a fonte, será aberta a guia do Power Query para realizar as transformações de dados necessárias. Com isso, o relatório que irá consumir esse Data Flow já terá a fonte de dados adequada para uso. Vale ressaltar que o Power Query Online também é mais limitado do que o Desktop, mas ainda sim, possui as funcionalidades básicas para que seja feita uma transformação de dados eficiente. Após realizar as mudanças basta clicar na opção de Salvar e fechar.

 

4. Salvando e visualizando o fluxo de dados

Em seguida, nomeamos o fluxo de dados e pode-se adicionar uma descrição do mesmo. Após isso, basta clicar em Salvar.

 

Na área principal do Workspace em que foi criado o Data Flow, é possível visualizar ele criado.

 

Ao clicar no mesmo, é possível visualizar todas as fontes / tabelas que estão presentes naquele fluxo de dados, assim como uma prévia do nome e tipo de dados da coluna.

 

Assim, ao abrir o Power BI Desktop será possível obter dados de um Fluxo de Dados.

 

5. Atualização

Após criar um fluxo de dados é importante atualizá-lo e definir o agendamento das atualizações para que o mesmo esteja alinhado com a carga da fonte de dados. Quando ele é criado é possível ver duas opções: Atualizar agora (manualmente) e Agendar atualização, como mostra as imagens abaixo.

 

Quando clicamos em atualizar agora, é feita uma atualização no exato instante em que selecionamos essa opção, ou seja, é uma maneira manual de atualizar. No entanto, na maioria dos cenários é necessário definir horários fixos para que a atualização ocorra. Para isso, clicamos na opção de Agendar atualização, em seguida na guia de Fluxo de Dados e na opção de Atualização agendada é necessário ativá-la e assim definir a periodicidade (diária ou semanal), o fuso horário e a hora. Há possibilidade de agendar até 8 horas diferentes que variam no espaço de meia hora ou uma hora cheia.

 

Nesse caso escolhemos somente atualizar todos os dias às 2 horas da manhã. Ainda há a possibilidade de enviar notificações de falha na atualização para o proprietário do fluxo de dados ou para outros usuários selecionados.

 

Com isso, é possível ver a última atualização, que nesse exemplo foi feita de maneira manual, e a próxima atualização na descrição ao lado do fluxo de dados criado.

Conclusão

Com base no conteúdo abordado no presente artigo é possível compreender de forma introdutória a definição, uso e diferenciação entre o Data Flow e os Datasets, componentes que são complementares um ao outro e que proporcionam a criação de um ambiente sustentável e que alinha o setor de TI e de negócios, utilizando o Power BI Services. Ainda, conta com uma demonstração básica de como realizar a criação de um Data Flow, demonstrando de maneira prática, o conceito do tema estudado. Em caso de necessidade de aprofundamento no assunto, recomenda-se a documentação oficial da Microsoft.

Compartilhe este post: