Fala galera dos PBIX. Só alegria?
Hoje vou falar sobre uma pergunta que recebemos de vários projetos junto a clientes, que é: melhor usar Dataflow ou Dataset?
Depende!
Para quem não sabe, vou explicar o que seria cada um.
Dataflow:
Dataflow ou fluxo de dados, é um conjunto de informações que você pode unificar dados de diferentes fontes e os consegues armazenar eles em ambiente cloud. Ele armazena os dados em um Data Lake, mais especificamente no Azure Data Lake Storage Gen2.
Para deixar mais claro, vamos pensar no seguinte exemplo:
No Power BI eu importo uma planilha de cadastro de clientes, ou melhor, uma tabela de cadastro de clientes do meu banco de dados SQL.
No PowerBI Desktop, você precisa ir no Editor Avançado, abrir o PowerQuery e elaborar a importação da tabela no seu banco. No Dataflow o processo é similar, mas usamos o PowerQuery Online, e elaboramos o mesmo processo (você pode até copiar o mesmo código do editor avançado e colar no PowerQuery Online). Com isto, esta tabela já fica armazenada na nuvem para reutilizarmos para vários projetos. Este processo tem muitas vantagens, mas citando algumas aqui:
Podemos ter uma cópia da tabela de dados para ser utilizada por várias analistas, sem a necessidade de o pessoal ficar conectando toda hora o banco de dados, pois já carregamos estes dados anteriormente no Data Lake e com isto, não afetamos qualquer transação no nosso banco de dados;
Posso centralizar informações importantes, como por exemplo, tabela de faturamento, pois cada setor, pode ter seu conceito de faturamento e com isto, conseguimos unificar para que todos observem o mesmo dado;
Atualização agendada. Podemos colocar as informações para atualizar em horários diferente dos horários de picos;
Com o Dataflow, você na construção do report, você pode combinar com outras fontes, como Apis, web, excel e outras.
Datasets
Datasets ou conjunto de dados, representa uma fonte de dados pronta para geração de relatórios e visualizações.
Explicando melhor
Quando criamos um relatório no Power BI e publicamos, ele armazena estas informações como um cubo no ambiente online.
Com isto, conseguimos reaproveitar este “cubo” e gerar demais relatórios.
IMPORTANTE:
Se você já está consumindo um Dataset, ainda, você não consegue importar outra fonte de dados, como por exemplo, uma planilha. Você teria que mexer no Dataset original, aí sim, ele replicaria a informação.
EXEMPLO:
Criamos um relatório chamado Faturamento.
Neste relatório, temos várias métricas, como Faturamento de Amostras. Neste métrica por exemplo, eu posso especificar alguns códigos de itens para elaborar a soma.
Ai o time de logística, usa este mesmo Dataset que criei para elaborar visões sobre Faturamento e Lead Time de entrega, e uma das métricas que o time precisa analisar é realmente o Faturamento de Amostras.
Ai a área de PCP, muda o cadastro de item e diz que o item A não é mais amostra, agora é o item B. Se eu tivesse um relatório de Faturamento de Amostras entre várias áreas, todos que usam esta métrica, precisariam alterar este cálculo, mas neste caso é mais simples.
Apenas quem criou o Dataset Faturamento, muda esta regra, e todos os relatórios que usam este Dataset, já serão alterados automaticamente.
Uma das vantagens do Dataset, é a facilidade em trabalhar o mesmo projeto com mais pessoas, pois a governança ocorrerá através de pessoas chaves que tem domínio das regras.
Qualquer inclusão de campo, métricas por exemplo, todos os relatórios que consomem, já irão receber estas atualizações.
E aí, usar Dataset ou Dataflow?
Depende. Tivemos um cliente, em que o objetivo era que as demais áreas consumissem a mesma informação de faturamento e não que cada uma extraísse de um jeito específico.
Com isto, foi disponibilizado um Dataset principal e os demais apenas consumiam a informação pronta, obtendo uma única verdade. E poderiam elaborar suas visualizações.
Mas também, teve outro cliente, em que a TI criou os Dataflow, com as principais tabelas do banco de dados, para que os usuários não precisem ficar conectados toda hora no banco, ocasionando problemas principalmente de performance. Com isto, qualquer um que fosse desenvolver, conectaria nas tabelas no Dataflow.
Cada caso, é um caso.
Ficou em dúvida, pode chamar nosso time de especialistas que eles irão ajudar de forma simples.
Caso precise mais informações, a Microsoft tem recursos
muitos ricos em seus docs, confira:
Comments