Blog

Postado em em 13 de setembro de 2022

Relacionamentos no Power BI: Tudo o que precisa saber

Os relacionamentos no Power BI ajudam a facilitar as análises e a permitir uma visão mais profunda sobre os dados. Ou seja, permitem entender melhor as tabelas e gerar gráficos interessantes com a correlação dos dados entre elas.

Nesse sentido, quem usa o Power BI precisa entender melhor como criar esses relacionamentos e, sobretudo, compreender o que está por trás deles, na parte teórica.

Além disso, quando finalizar a parte de relacionamentos vamos te mostrar como criar 2 relacionamentos entre as mesmas tabelas, que é algo que o próprio Power BI não aceita de forma padrão.

Neste conteúdo, vamos falar mais sobre isso e ensinar a você como definir um relacionamento no Power BI. Você pode acessar o conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

O que é Power BI?

O Power BI é uma plataforma de análise de dados que permite criar gráficos, relatórios e dashboards que explicitam padrões e insights. Assim, é uma solução crucial para a análise de dados antes de uma tomada de decisão importante em empresas.

O sistema é uma solução completa e mais robusta do que o Excel, por exemplo, embora atenda a propósitos distintos. Permite lidar com massas de dados de uma forma mais clara e compreensível, tipicamente para facilitar as análises.

Facilita também para exportar os dados de uma forma fácil de entender e visualizar até mesmo em outras aplicações.

O que são Relacionamentos no Power BI?

Ter um relacionamento no Power BI significa criar uma relação entre as tabelas que estão ali importadas. Ou seja, criar uma conexão entre elas.

Essa conexão permite que tabelas diferentes consigam de fato visualizar informações uma das outras.

Imagine o seguinte: uma tabela X atende a um escopo e só consegue ter acesso aos dados dela mesmo.

É como se dados de outras tabelas não existissem. Contudo, quando estabelecemos um relacionamento entre a tabela X e uma dada tabela Y, conseguimos fazer com que a tabela X seja associada a dados da tabela Y.

No caso, não é preciso necessariamente explicitar quais dados serão correlacionados, porque o Power BI já faz isso automaticamente.

Contudo, é importante definir os relacionamentos para que a plataforma saiba bem que aquelas tabelas devem estar relacionadas.

Para que servem?

Relacionamentos no Power BI servem para fazer com que os dados das tabelas conectadas conversem. Além disso, permitem trabalhar com as duas tabelas mesmo estando separadas, mas como se fossem uma só, onde uma complementa a outra.

Como já foi falado, o relacionamento estabelece que uma tabela consiga visualizar dados da outra. Contudo, isso só fica evidente quando queremos criar um filtro de análise.

Ou seja, o relacionamento no Power BI atende a um propósito específico: permitir que analisemos correlações de dados entre as tabelas.

Criamos filtros com informações de várias tabelas e, então, precisamos do relacionamento entre elas para pegar os dados corretamente.

Por exemplo, se você tem uma tabela com vendas e outra com lojas em regiões do país, uma análise de correlação pode ser sobre vendas específicas para cada região e quais produtos foram vendidos.

Isso é um filtro, uma análise segmentada dentro do todo. Para isso, é preciso encontrar uma forma de relacionar a tabela de vendas com a tabela das lojas.

Como funciona o relacionamento no Power BI?

O relacionamento precisa de um elemento em comum, uma coluna-chave que esteja em ambas as tabelas. Essa chave será usada para permitir a ligação entre elas.

No caso do exemplo dado, podemos querer verificar o tipo de produto por região ou por loja, mas precisamos passar a coluna em comum nas duas tabelas (mesmo que não seja um tipo de produto).

No caso, a coluna em comum pode ser a loja.

Como fazer essa relação entre tabelas no Power BI?

Vamos avançar para a parte prática de nossa explicação sobre relacionamentos no Power BI.

Inicialmente, no nosso exemplo, teremos três tabelas já inseridas no Power BI, a partir de passos que já vimos em posts anteriores. São elas: BaseVendas, CadastroClientes e CadastroProdutos.

Na tabela de BaseVendas, nós temos informações de vendas com SKU, Quantidade Vendida, Loja, Data da Venda e Código Cliente.

Na tabela de CadastroClientes, temos informações particulares dos clientes com Código Cliente, Sexo, Data de Nascimento, E-mail, Nome Completo, Idade, Faixa de Idade.

Já na tabela de CadastroProdutos, temos informações específicas dos produtos da empresa com SKU, Produto, Marca, Categoria, Preço Unitário, Custo Unitário.

Repare que essas tabelas são complementares, de forma que as tabelas de clientes e de produtos complementam a tabela de vendas com informações específicas dos produtos comprados e dos clientes que compraram naquela venda específica.

É para isso que servem os relacionamentos, para fazer essa junção das informações dessas tabelas complementarem, ou fazerem elas conversarem.

1) RESUMO DE VENDAS POR PRODUTO

Iremos criar uma matriz na primeira guia do Power BI, a de Relatórios.

Inserir em Valores a coluna de Quantidade Vendida e em Linhas iremos inserir a coluna de Produto, que tem o nome dos produtos.

Inicialmente, nós teremos o total de 71442 de Vendas (somatório de quantidades vendidas).

Vamos, então, tentar filtrar esse total pelos produtos inserindo o nome dos produtos (que é dado pela coluna de “Produto”) no campo de Linhas da matriz. Veja abaixo o resultado dessa matriz:

Relacionamentos no Power BI

Apesar de termos a matriz, com as linhas tendo os nomes dos produtos, repare que a quantidade vendida de cada produto ainda permanece com o total calculado anteriormente de 71442.

Deveríamos ter cada categoria de produtos com a sua quantidade respectiva de venda (menor que 71442, obviamente, para cada produto). Ou seja, o filtro de produtos não conseguiu ser efetivo para essa visualização. Mas por quê?

Porque estamos falando para o Power BI juntar informações de tabelas separadas, que não estão conversando entre elas. Ou seja, não existe nenhuma relação entre elas criada, e com isso, os valores e dados das duas não conseguem ser entendidos pelo Power BI numa mesma visualização, pois para ele isso não faz sentido.

É aqui que vamos passar para o Power BI que queremos que essas tabelas conversem entre si, e uma interprete os dados das outras. Mas como? Criando uma relação entre tabelas no Power BI.

Para fazer isso, devemos ir na terceira guia do Power BI, a chamada guia Modelo, e observar nossas tabelas de interesse para serem conectadas (relacionadas).

Repare que queremos criar uma relação entre a coluna de Quantidade Vendida (BaseVendas) e a coluna de Produto (CadastroProdutos). Repare que inicialmente não existe nenhuma conexão entre as tabelas:

Relação Entre Tabelas
TABELA FATO X TABELA DIMENSÃO (CARACTERÍSTICA)

Tabela fato é a tabela no Power BI com uma quantidade enorme de linhas, e que representa os fatos de uma empresa, que podem se repetir ou não.

A tabela dimensão é a tabela que vai auxiliar a tabela fato com dados complementares ou explicativos, e que possui informações que não se repetem.

Com isso, inferimos que a tabela de vendas, por ter linhas que se repetem, e apresentam os fatos da empresa, é a nossa tabela fato. As outras tabelas são as nossas tabelas dimensão (informações de clientes que compram e dos produtos vendidos naquela empresa).

Para criar relacionamentos entre essas colunas, devemos em cada quadrado (que representa cada tabela) procurar os nomes das colunas correspondentes.

OBS1: as colunas NÃO precisam ter os mesmos nomes, apenas informações correspondentes (tipos de informações que estejam nas duas colunas). No nosso exemplo, para facilitar a visualização, temos as colunas com nomes iguais.

Então, para criar os relacionamentos, devemos clicar em uma das colunas, segurar e arrastar até o local dessa mesma coluna na outra tabela, e “soltá-la”.

Após isso, o Power BI mostrará uma conexão entre os quadrados, que, ao passar o mouse em cima, mostrará uma conexão direta entre as colunas. A partir dela, será possível buscar informações da tabela auxiliar (dimensão) para serem usadas na principal (fato).

Veja a conexão feita (e o mouse em cima dela, destacada):

Tabela fato é a tabela no Power BI com uma quantidade enorme de linhas, e que representa os fatos de uma empresa, que podem se repetir ou não. A tabela dimensão é a tabela que vai auxiliar a tabela fato com dados complementares ou explicativos, e que possui informações que não se repetem.

Com isso, inferimos que a tabela de vendas, por ter linhas que se repetem, e apresentam os fatos da empresa, é a nossa tabela fato. As outras tabelas são as nossas tabelas dimensão (informações de clientes que compram e dos produtos vendidos naquela empresa).

Para criar relacionamentos entre essas colunas, devemos em cada quadrado (que representa cada tabela) procurar os nomes das colunas correspondentes.

OBS1: As colunas NÃO precisam ter os mesmos nomes, apenas informações correspondentes (tipos de informações que estejam nas duas colunas). No nosso exemplo, para facilitar a visualização, temos as colunas com nomes iguais.

Então, para criar os relacionamentos, devemos clicar em uma das colunas, segurar e arrastar até o local dessa mesma coluna na outra tabela, e “soltá-la”.

Após isso, o Power BI mostrará uma conexão entre os quadrados, que, ao passar o mouse em cima, mostrará uma conexão direta entre as colunas. A partir dela, será possível buscar informações da tabela auxiliar (dimensão) para serem usadas na principal (fato).

Veja a conexão feita (e o mouse em cima dela, destacada):

Tabela Fato no Power BI

OBS2: não faz diferença de qual tabela (fato ou dimensão) você irá arrastar para fazer a conexão, tanto da primeira para segunda quanto da segunda para a primeira, a conexão funcionará.

OBS3: por convenção para melhor visualização, não obrigatoriedade, colocamos as tabelas fato no “andar” abaixo das tabelas dimensão.

Com as conexões feitas da forma correta, voltamos à guia de Relatórios do Power BI, e vemos que a matriz está perfeita, com os filtros funcionando, justamente porque agora temos os relacionamentos feitos entre as tabelas, que conseguem acessar informações para complementar as análises.

Assim, temos as quantidades vendidas para cada tipo de produto, como queríamos no começo. Veja abaixo:

2) RESUMO DE VENDAS POR FAIXA DE IDADE

Queremos também fazer um resumo de vendas por faixa de idade, para entender qual faixa etária compra mais na nossa empresa. Para isso iremos, assim como no passo 1 do post, na guia de Relatório do Power BI, e criar uma visualização de matriz.

Vamos inserir em Valores a coluna de Quantidade Vendida e em Linhas iremos inserir a coluna de Faixa de Idade, que tem o nome dos produtos.

Relacionamentos no Power BI
Relacionamentos no Power BI

Até aqui temos o mesmo problema da questão 1. Agora, vamos criar um relacionamento entre a tabela de BaseVendas (coluna de Quantidade Vendida) e a de CadastroClientes, onde está a informação de Faixa de Idade. Temos então que acessar a terceira guia do Power BI (Modelo). Veja abaixo:

Tabela Características no Power BI

Vemos que, criando o relacionamento, ao retornar na guia de Relatório, teremos a nossa matriz da forma correta:

Para que servem relacionamentos no Power BI Imagem 7

OBS4: Criei o relacionamento entre colunas erradamente. E agora? Como excluir relação no power BI? Você pode clicar com o botão direito do mouse em cima da linha que conecta as duas tabelas. Em seguida irá optar por Excluir, e Excluir. E pronto.

Assim demonstramos para que servem os relacionamentos no Power BI com dois exemplos práticos.

Para tirar o máximo proveito da tabela fato e tabela dimensão no Power BI devemos entender bem os seus conceitos e quando devemos usá-las em conjunto, ou seja, relacioná-las. Na situação perfeita, elas conversarão e se complementarão para melhores análises dos dados.

Fique ligado no nosso Blog para mais conteúdo de Power BI e no nosso canal do Youtube para mais vídeos. Ficamos por aqui!

Como Fazer 2 Relacionamentos Entre as Mesmas Tabelas?

Nessa parte vamos te mostrar como criar relacionamentos entre as mesmas tabelas no Power BI utilizando a função USERELATIONSHIP!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

Nós vamos te mostrar como criar 2 relacionamentos no Power BI entre as mesmas tabelas. Ou seja, vamos fazer algo que a princípio o programa não aceita.

Quando fazemos um segundo relacionamento entre as mesmas tabelas, o Power BI deixa esse segundo pontilhado, ou seja, inativo.

Para te mostrar como isso funciona nós vamos utilizar a função USERELATIONSHIP com um exemplo de arquivo com tabelas e informações de Recursos Humanos (RH) para facilitar o entendimento de como podemos utilizar essas 2 relações.

Principalmente para que você não mostre informações erradas no seu gráfico, então é muito importante não só relacionar as informações, mas saber se esse relacionamento faz sentido.

No arquivo disponibilizado da aula, temos um arquivo com o histórico de contratações de uma empresa, importado, que gera uma consulta, junto com outra consulta pronta, a de calendário. É com esse arquivo que iremos avançar a seguir.

Nessa consulta de RH (BaseFuncionarios), nós temos ID, Nome do funcionário, Gênero, Endereço, Data de Contratação, Data de Demissão, Salário, Cargo, Área e Horas Extra. Na consulta de calendário nós temos as datas, e o ano correspondente a cada data.

1) Número de Contratações

Para saber o número de contratações da empresa em questão, vamos precisar criar uma medida que conte as linhas da nossa consulta.

Isso ocorre porque, a cada linha da nossa consulta, temos uma pessoa cadastrada, e ela é única.

Ou seja, cada pessoa possui apenas uma linha destinada a ela, com data de contratação, e possível data de demissão.

Para criar a medida, vamos:

  • Na segunda guia do Power BI, a Guia Dados
  • Clicar com botão direito em qualquer coluna
  • Nova medida
  • Colocar a fórmula:
Total Contratacoes = COUNTROWS(BaseFuncionarios)
  • Dar Enter

Para visualizar o resultado dessa medida vamos criar um cartão, nas visualizações (guia de Relatório), e arrastar a nossa medida criada de “Total Contratacoes” para o campo de Campos do cartão.

Com isso conseguiremos ver a nossa medida.

1 1

2) Número de Demissões

Para saber o número de demissões da empresa em questão, vamos precisar criar uma medida que conte as linhas PREENCHIDAS da coluna de Data de Demissão da nossa consulta.

Afinal, se existe uma data de demissão, quer dizer que aquela pessoa foi demitida naquela data.

Se a cada linha da nossa consulta temos uma pessoa cadastrada, cada linha que demos data de demissão é uma demissão.

Para criar a medida, vamos:

  • Na segunda guia do Power BI, a Guia Dados
  • Clicar com botão direito em qualquer coluna
  • Nova medida
  • Colocar a fórmula:
Total Demissoes = CALCULATE(COUNTROWS(BaseFuncionarios),

BaseFuncionarios[Data de Demissao]<>BLANK()

)
  • Dar Enter

Para visualizar o resultado dessa medida vamos criar um cartão, nas visualizações (guia de Relatório), e arrastar a nossa medida criada de “Total Demissoes” para o campo de Campos do cartão. Com isso conseguiremos ver a nossa medida.

3) Quantidade de contratações por ano

Agora, nosso desejo é fazer uma contagem de contratações a cada ano, para analisar ao longo do tempo a política de demissões da empresa.

Para ver isso, vamos inserir uma visualização de gráfico de colunas, como mostrado no vídeo.

Para saber mais sobre os diversos tipos de gráficos no Power BI, visite essa outra aula do nosso Blog.

Criaremos, então, o gráfico de colunas. Em suas propriedades:

  • Valores -> colocaremos a medida de Total Contratacoes (consulta BaseFuncionarios)
  • Eixo -> colocaremos a coluna de Ano (consulta Calendário)
2 1

Repare que algo estranho aconteceu: temos os mesmos valores para todos os anos. Cada ano tem as barras do mesmo tamanho, e recebeu o valor de 234, como mostrado no vídeo. Observe acima: o que ocorre, então?

O que acontece, nesse caso, é que estamos falando para o Power BI juntar informações de tabelas separadas, que não estão conversando entre si.

Ou seja, não existe nenhuma relação entre elas criada, e com isso, os valores e dados das duas não conseguem ser entendidos pelo Power BI numa mesma visualização (em conjunto), pois para ele isso não faz sentido.

É aqui que vamos passar para o Power BI que queremos que essas tabelas conversem entre si, e uma interprete os dados das outras. Mas como? Criando uma relação entre tabelas no Power BI.

Repare que queremos criar uma relação entre as tabelas BaseFuncionarios e Calendario, observando uma coluna que tem dados em comum.

Repare que inicialmente não existe nenhuma conexão entre as tabelas:

Relacionamentos Entre as Mesmas Tabelas
Relação Entre Tabelas no Power BI

Então, para criar os relacionamentos, devemos:

  • Clicar em uma das colunas
  • Segurar e arrastar até o local da coluna com informações parecidas na outra tabela
  • “Soltá-la”

Após isso, o Power BI mostrará uma conexão entre os quadrados, que, ao passar o mouse em cima, mostrará uma conexão direta entre as colunas.

A partir dela, será possível buscar informações da tabela auxiliar (Calendario) para serem usadas na principal (BaseFuncionarios).

Para saber mais sobre os tipos de tabela no Power BI, sugerimos conferir esse outro post.

Veja a conexão feita (e o mouse em cima dela, destacada):

Relacionamentos Entre as Mesmas Tabelas

OBS: Não faz diferença de qual tabela (fato ou dimensão) você irá arrastar para fazer a conexão, tanto da primeira para segunda quanto da segunda para a primeira, a conexão funcionará.

Com as conexões feitas da forma correta, voltamos à guia de Relatórios do Power BI, e vemos que o nosso gráfico de colunas está perfeito.

Os filtros funcionam de forma perfeita, justamente porque agora temos os relacionamentos feitos entre as tabelas, que conseguem acessar informações para complementar as análises.

Assim, temos as contratações por ano, como queríamos no começo. Vamos adicionar rótulo de dados, e o resultado será o mostrado abaixo:

5 1

4) Quantidade de demissões por ano

Queremos, agora, inserir nessa visualização criada acima o número de demissões por ano, para entender a política do RH da empresa ao longo dos anos, tanto para contratações quanto para demissões.

Para isso, vamos no gráfico de colunas criado, inserir em suas propriedades:

  • Valores -> colocaremos a medida de Total Demissoes (consulta BaseFuncionarios)

A princípio teremos o resultado abaixo:

6 1

Repare que temos pessoas demitidas espalhadas ao longo dos anos.

Mas, repare que, indo na nossa tabela, vemos que não temos nenhuma pessoa em 2010, por exemplo.

Olhando para 2010: isso ocorre porque ele está tentando filtrar as 23 linhas no total de contratações, daquele ano, e acaba por achar 3 linhas “diferentes de vazio”, independentemente se o ano é de 2010.

Ou seja, das pessoas que foram contratadas em 2010, 3 foram demitidas, como mostrado no vídeo.

Por que isso ocorre? Porque o nosso relacionamento foi feito com a coluna de Data de Contratação. Ou seja, qualquer filtro feito vai olhar essa coluna como base para fazer o filtro.

Resumindo: nossa informação de demissões está errada. Como corrigir isso no gráfico?

Precisamos corrigir criando um relacionamento para a coluna de Data de Demissão.

Observe abaixo, com o passo a passo explicado acima. O resultado será uma linha tracejada, considerada inativa pelo Power BI:

Relacionamentos Entre as Mesmas Tabelas
Relacionamento Entre As Mesmas Tabelas No Power BI

Ele não deixa termos duas relações entre as mesmas tabelas, para evitar esses erros, como mostramos acima.

Com uma fórmula, nós conseguimos forçar a ativação desse relacionamento “inativado” pelo Power BI. Essa fórmula é a USERELATIONSHIP, indicando as duas colunas que queremos relacionar naquela medida.

Vamos criar uma nova medida diferente para pegar o total de demissões dessa empresa, para ser mais didático.

Para criar a medida, vamos:

  • Na segunda guia do Power BI, a Guia Dados
  • Clicar com botão direito em qualquer coluna
  • Nova medida
  • Colocar a fórmula:
Total Demissoes Real = CALCULATE(

    [Total Demissoes],

    USERELATIONSHIP(Calendario[Datas],

    BaseFuncionarios[Data de Demissao])

)
  • Dar Enter

Em seguida, vamos colocar essa nova medida de Total Demissoes Real no lugar da antiga (Total Demissoes) no gráfico de colunas criado. Observe o resultado abaixo:

Case Prático no Power BI
Case Prático no Power BI

Agora os números fazem sentido, fazendo os filtros na coluna de Data de Demissão, na nossa tabela, para verificar a quantidade de demissões, conforme mostrado no vídeo.

Conclusão

O relacionamento no Power BI é uma forma de enriquecer as análises com filtros completos e inteligentes. Ao criar uma interação entre tabelas, o analista consegue ampliar as possibilidades de análise para a criação de gráficos e relatórios completos correlacionando dados.

Além de conseguir fazer o relacionamento para criar suas análises de forma eficiente e correta, ainda te mostramos como você pode utilizar 2 relacionamentos entre as mesmas tabelas para continuar conseguindo fazer suas análises sem ter que duplicar suas tabelas.

Hashtag Treinamentos

Para acessar outras publicações de Power BI, clique aqui!


Quer aprender mais sobre Power BI com um minicurso básico gratuito?

Quer ter acesso a um Minicurso de Finanças no Excel de forma 100% gratuita? Preencha seu e-mail abaixo!