Amauri Bekesius • 07 out 2024 • Microsoft Power BI
Neste estudo iremos nos debruçar em dúvidas de muitos usuários para obter dados do banco de dados SQLServer ou qualquer banco de dados atuais, ou seja, utilizando o DirectQuery ou Import. Para esclarecermos essas dúvidas realizaremos os dois pontos e ao final chegarmos a uma conclusão.
Iniciaremos com o pré-requisito de já estarem com o Power BI Desktop e o banco de dados SQLServer instalados em seu equipamento.
Passo 1:
Neste primeiro exemplo foi elaborado um banco de dados denominado ENG_DTP_Multimidia com uma pequena tabela Dimensao_Produtos.
Nesta tabela foram inseridos 4 produtos a seguir:
Passo 2:
No Power BI, guia Página Inicial – Grupo: Dados - SQLServer
Após clicar no ícone aparecerá a tela:
Após digitar os campos Servidor e Banco de dados (opcional) o modo de Conectividade será importar neste primeiro momento.
Verifique a nova janela já com a tabela Dimensao_Produtos aberta
Apenas pressione o botão Carregar e pronto. Naturalmente essa é a maneira mais comum para obtermos dados de um banco de dados, porém, o motivo do artigo é salientar que podemos conectar o Power BI diretamente o banco de dados.
Note que os campos da tabela estão “carregados” e à esquerda todos os ícones também, inclusive fiz questão de abrir a tabela no ícone modo de exibição de tabela, ou seja, até aqui nenhuma informação diferente.
Passo 3:
Porém, neste segundo exemplo, iremos passar pelo mesmo processo, mas agora o modo de conectividade será DirectQuery
A mesma situação acontece e nesta janela avistaremos a mesma tabela Dimensao_Produtos. Basta pressionar o botão Carregar e pronto a base é colocada no relatório, mas com uma diferença.
O modo de exibição de tabela não aparece mais, isso devido à conexão direta com a base de dados e a tabela. Vamos aos esclarecimentos.
O método Import – Traz os dados da fonte de dados para o Power BI, sejam dados da Web, do SharePoint, de um banco de dados
No método Import o Power BI literalmente realizará uma cópia dos dados e traz para seu relatório.
Esse método é aconselhável trabalhar quando você tem alguma das seguintes situações:
Direct Query – Os dados não são importados, logo você não consegue categorizar e nem mexer nos dados pelo Power Pivot (dados são apenas acessados no Banco de dados)
No método DirectQuery é um pouco diferente, pois em momento algum o Power BI fará cópia dos dados para o seu modelo.
Neste método o Power BI a todo momento consultará as informações que você tem na fonte de dados e você poderá utilizar os visuais para só demonstrar esses dados de forma diferente.
Mas aqui temos um pequeno, porém, que é a questão de você trabalhar com os dados de uma forma um pouco mais limitada já que não é possível realizar tratamentos, categorizações nos dados pelo fato de você não poder alterar a forma como os dados são apresentados na sua fonte de informações.
Esse método é aconselhável trabalhar quando você tem alguma das seguintes situações:
Alguns benefícios do uso do DirectQuery incluem:
Conclusão:
O conjunto de funcionalidades oferecido pelo Power BI para a importação e o DirectQuery evoluirá ao longo do tempo. As alterações incluirão o fornecimento de mais flexibilidade ao usar dados importados, de modo que a importação possa ser usada em mais casos, bem como a eliminação de algumas das desvantagens do uso do DirectQuery. Independente das melhorias, ao usar o DirectQuery, o desempenho da fonte de dados subjacente sempre é uma consideração importante. Se essa fonte de dados subjacente estiver lenta, o uso do DirectQuery nessa fonte ficará impraticável.
Ao publicar um relatório nos dados utilizados na consulta e a atualização dos visuais não serão incluídos no conjunto de dados do serviço. Dependendo da localização da fonte de dados original, poderá ser necessário configurar um gateway de dados local que se conecte à base de dados.
Para garantir que a abertura de um dashboard seja rápida, agendamentos podem ser feitos de forma a atualizar os dados frequentemente, refletindo a frequência com que os dados são alterados e o nível de relevância de ter os dados mais recentes em seus relatórios ou painéis.