Obter dados a partir de origens de dados relacionais

Concluído

Se a sua organização utilizar uma base de dados relacional para vendas, pode utilizar Power BI Desktop para ligar diretamente à base de dados em vez de utilizar ficheiros simples exportados.

Ligar o Power BI à sua base de dados irá ajudar a monitorizar o progresso do seu negócio e a identificar tendências, para que possa prever volumes de vendas, planear orçamentos e definir indicadores e objetivos de desempenho.   O Power BI Desktop pode ligar-se a muitas bases de dados relacionais, quer estejam na cloud ou no local.

Scenario

A equipa de Vendas da Tailwind Traders solicitou que se ligasse à base de dados de SQL Server no local da organização e que os dados de vendas Power BI Desktop para que pudesse criar relatórios de vendas.

Captura de ecrã a mostrar o Fluxo de dados da base de dados SQL para o Power BI.

Ligar a dados numa base de dados relacional

Pode utilizar a funcionalidade Obter dados no Power BI Desktop e selecionar a opção aplicável para a sua base de dados relacional. Neste exemplo, selecione a opção SQL Server, conforme mostrado na seguinte captura de ecrã.

Dica

Junto ao botão Obter Dados estão opções de origens de dados de acesso rápido, como o SQL Server.

Captura de ecrã do menu Obter Dados expandido para mostrar SQL Server.

O próximo passo é introduzir o nome do servidor da sua base de dados e o nome de uma base de dados na janela Base de dados do SQL Server.  As duas opções no modo de conectividade de dados são: Importar (selecionada por predefinição, recomendada) e DirectQuery. Na maior parte das vezes, seleciona Importar. Também estão disponíveis outras opções avançadas na janela SQL Server base de dados, mas pode ignorá-las por enquanto.

Captura de ecrã a mostrar os detalhes da base de dados SQL Server.

Depois de adicionar os nomes do servidor e da base de dados, ser-lhe-á pedido para iniciar sessão com um nome de utilizador e palavra-passe. Terá três opções de início de sessão:

  • Windows – utilize a sua conta do Windows (credenciais do Azure Active Directory).

  • Base de dados – utilize as credenciais da base de dados.   Por exemplo, o SQL Server tem o seu próprio sistema de autenticação e início de sessão que é utilizado por vezes.   Se o administrador da base de dados lhe tiver fornecido um único início de sessão para a base de dados, poderá ter de introduzir essas credenciais no separador Base de dados.

  • Conta Microsoft – utilize as credenciais da sua conta Microsoft.  Esta opção é muitas vezes utilizada nos serviços do Azure.

Selecione uma opção de início de sessão, introduza o seu nome de utilizador e palavra-passe e, em seguida, selecione Ligar.

Captura de ecrã a mostrar os detalhes de autorização da base de dados.

Selecione os dados a importar

Depois de a base de dados ter sido ligada a Power BI Desktop, a janela Navegador apresenta os dados disponíveis na sua origem de dados (a base de dados SQL neste exemplo). Pode selecionar uma tabela ou entidade para pré-visualizar os respetivos conteúdos e certificar-se de que os dados corretos são carregados no modelo do Power BI.

Selecione as caixas de verificação das tabelas que pretende trazer para Power BI Desktop e, em seguida, selecione a opção Carregar ou Transformar Dados.

  • Carregar – carregue automaticamente os seus dados para um modelo do Power BI no estado atual.

  • Transformar Dados – abra os seus dados no Microsoft Power Query, onde pode realizar ações como eliminar linhas ou colunas desnecessárias, agrupar os seus dados, remover erros e muitas outras tarefas de qualidade de dados.

    Captura de ecrã da janela Navegador com tabelas disponíveis.

Importar dados ao escrever uma consulta SQL

Também pode importar dados ao escrever uma consulta SQL para especificar apenas as tabelas e colunas necessárias.

Para escrever a consulta SQL, na janela SQL Server base de dados, introduza os nomes do servidor e da base de dados e, em seguida, selecione a seta junto a Opções avançadas para expandir esta secção e ver as suas opções. Na caixa Instrução SQL , escreva a instrução de consulta e, em seguida, selecione OK. Neste exemplo, irá utilizar a instrução Select SQL para carregar as colunas ID, NAME e SALESAMOUNT da tabela SALES.

Captura de ecrã a mostrar a caixa de diálogo SQL Server base de dados com uma consulta SQL.

Alterar as definições da origem de dados

Após criar uma ligação de origem de dados e carregar os dados para o Power BI Desktop, pode regressar e alterar as definições da sua ligação em qualquer altura.  Esta ação é muitas vezes necessária devido à política de segurança da organização. Por exemplo, quando a palavra-passe precisa de ser atualizada a cada 90 dias.  Pode alterar a origem de dados, editar permissões ou limpar permissões.

No separador Base , selecione Transformar dados e, em seguida, selecione a opção Definições da origem de dados.

Captura de ecrã do menu Transformar dados expandido com as definições da Origem de dados realçadas.

Na lista de origens de dados que é apresentada, selecione a origem de dados que pretende atualizar.  Em seguida, pode clicar com o botão direito do rato nessa origem de dados e ver as opções de atualização disponíveis ou pode utilizar os botões de opção de atualização no canto inferior esquerdo da janela.  Selecione a opção de atualização necessária, altere as definições conforme necessário e, em seguida, aplique as suas alterações.

Captura de ecrã a mostrar as opções de Definições da origem de dados.

Também pode alterar as definições da origem de dados a partir do Power Query. Selecione a tabela e, em seguida, selecione a opção Definições da origem de dados no friso Base. Em alternativa, pode aceder ao painel Definições da Consulta no lado direito do ecrã e selecionar o ícone de definições junto a Origem (ou duplo Selecionar Origem). Na janela apresentada, atualize os detalhes do servidor e da base de dados e, em seguida, selecione OK.

Captura de ecrã a mostrar o botão Definições da origem de dados.

Depois de efetuar as alterações, selecione Fechar e Aplicar para aplicar essas alterações às definições da origem de dados.

Escrever uma instrução SQL

Tal como mencionado anteriormente, pode importar dados para o seu modelo do Power BI ao utilizar uma consulta SQL.  A linguagem SQL (Structured Query Language) é uma linguagem de programação utilizada para gerir bases de dados relacionais e desempenhar várias operações de gestão de dados.

Considere o cenário em que a sua base de dados tem uma grande tabela composta por dados de vendas ao longo de vários anos. Os dados de vendas de 2009 não são relevantes para o relatório que está a criar. É nesta situação que o SQL é benéfico porque lhe permite carregar apenas o conjunto de dados necessário ao especificar colunas e linhas exatas na instrução SQL e, em seguida, importá-los para o seu modelo semântico.  Também pode unir tabelas diferentes, efetuar cálculos específicos, criar instruções lógicas e filtrar dados na sua consulta SQL.

O seguinte exemplo mostra uma consulta simples em que o ID, NAME e SALESAMOUNT são selecionados na tabela SALES.

A consulta SQL começa com uma instrução Select , que lhe permite escolher os campos específicos que pretende extrair da base de dados.  Neste exemplo, quer carregar as colunas ID, NAME e SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

FROM especifica o nome da tabela da qual pretende solicitar dados. Neste caso, é a tabela SALES. O seguinte exemplo é a consulta SQL completa:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

Ao utilizar uma consulta SQL para importar dados, tente evitar utilizar o caráter universal (*) na consulta. Se utilizar o caráter universal (*) na instrução SELECT, importa todas as colunas de que não precisa da tabela especificada.

O seguinte exemplo mostra a consulta com o caráter universal.

SELECT *
FROM
SALES

O caráter universal (*) importará todas as colunas na tabela Vendas . Este método não é recomendado porque levará a dados redundantes no seu modelo semântico, o que causará problemas de desempenho e exigirá passos adicionais para normalizar os seus dados para relatórios.

Todas as consultas devem ter uma cláusula WHERE. Esta cláusula irá filtrar as linhas para escolher apenas os registos filtrados que pretende. Neste exemplo, se quiser obter dados de vendas recentes após 1 de janeiro de 2020, adicione uma cláusula WHERE . A consulta evoluída teria o aspeto do seguinte exemplo.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

É uma melhor prática evitar fazê-lo diretamente no Power BI. Em vez disso, considere escrever uma consulta como esta numa vista. Uma vista é um objeto numa base de dados relacional semelhante a uma tabela. As vistas têm linhas e colunas e contêm quase todos os operadores em linguagem SQL. Se o Power BI utilizar uma vista, quando devolve dados participa numa dobragem de consultas, uma funcionalidade do Power Query. A dobragem de consultas será explicada mais tarde, mas, resumidamente, o Power Query irá otimizar a obtenção de dados de acordo com a forma como os dados serão utilizados mais tarde.