Nessa publicação vamos ver como podemos criar relacionamentos utilizando fórmulas DAX, mais especificamente a função USERELATIONSHIP.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para baixar a planilha utilizada nesta publicação, clique aqui!
É uma função que permite ao usuário utilizar mais de uma relação dentro do Power BI, ou seja, o usuário poderá fazer mais de uma relação entre duas tabelas sem a necessidade de criar essas relações manualmente.
Vamos utilizar essa função sempre que o usuário precisar fazer análises que utilizam mais de uma relação entre as tabelas, ou seja, se precisar utilizar uma mesma coluna de uma tabela para fazer uma análise que será o caso do exemplo podemos utilizar essa função.
Primeiramente vamos verificar as duas tabelas que temos para que possamos analisar os dados de cada tabela.
Essas são as informações da BaseVendas, onde temos as informações de venda assim como algumas informações importantes sobre cada uma dessas vendas.
Para o Calendário, temos todas as datas dos anos que estão sendo analisados, ou seja, do primeiro dia de 2016 até o último dia de 2019.
O próximo passo será a criação de uma Medida para calcular quantos pedidos temos no total. Para a criação dessa medida basta selecionar a opção Nova Medida na guia Ferramentas da Tabela ou clicar com o botão direito do mouse em cima de qualquer informação e selecionar essa mesma opção.
Feito isso a barra de fórmulas ficará visível para que o usuário possa inserir o nome e a fórmula da medida.
Como neste caso queremos a quantidade total de pedidos basta somar todas as informações da coluna Tamanho Pedido e para isso vamos utilizar a fórmula SUM (que é soma em inglês). Por fim basta pressionar Enter para que a medida seja calculada.
OBS: Quando uma medida é criada ela não aparece dentro da tabela por ser um valor único, desta forma para conseguirmos visualizar será necessário colocar dentro de um gráfico, matriz, cartão, entre outras opções de visualização.
Neste caso para visualizar essa informação vamos inserir uma matriz dentro da guia Relatório.
Feito isso a matriz será criada, no entanto ela é criada vazia, ou seja, sem dado algum. Desta forma temos que arrastar a informação desejada para um dos campos da matriz.
Como queremos analisar a quantidade total de pedidos, vamos arrastar essa medida que acabamos de criar para o campo de valores da matriz.
Feito isso a matriz irá mostrar essa informação. A informação mostrada está com um formato pequeno o que torna mais difícil a visualização, para isso basta ir até a parte de formato e escrever tamanho na caixa de busca. Assim o usuário pode aumentar a fonte para um tamanho adequado.
Feito isso é possível verificar o total de pedidos da empresa de forma mais clara.
Vamos supor que agora o usuário queira uma análise para saber quantos pedidos foram feitos por dia. Neste caso teríamos que utilizar a informação de Datas da tabela Calendário.
É possível observar que ao utilizar essa informação temos um problema na nossa matriz.
Temos todos os anos com o mesmo valor que é o exato valor do total de pedidos, isso acontece porque tentamos juntar informações de duas tabelas distintas, ou seja, elas não têm ligação alguma. Por não terem ligação o Power BI não consegue juntar esses dados para trazer essa informação.
Para resolver este problema vamos até a guia Modelo para que possamos criar uma relação entre essas tabelas relacionando essas informações de data. Para isso basta clicar e arrastar a coluna de Data da Venda da BaseVendas para a coluna de Datas do Calendário.
Desta forma conseguimos criar uma relação entre essas tabelas e agora será possível juntar as informações dessas duas tabelas sem que ocorram problemas.
É possível observar que os valores foram ajustados corretamente, no entanto ainda não temos a visualização desejada que é de dias e não de anos. Para isso basta ir até o campo Linhas, ao lado de datas selecionar a seta para baixo e por fim selecionar a opção de Datas que é de fato a informação que desejamos visualizar.
Feito isso a matriz terá seus valores exibidos por data conforme o que foi proposto inicialmente.
Temos agora a matriz com as informações de pedidos por data, no entanto vamos querer também inserir uma coluna de pedidos entregues, pois é uma análise interessante para saber do total de pedidos quantos foram entregues.
Para esse caso, como queremos mais uma análise da quantidade de pedidos entregues teríamos que fazer outra relação entre as tabelas, mas agora de Datas com Data da Entrega.
Essa seria a solução simples, no entanto quando o usuário faz uma segunda relação utilizando as mesmas tabelas o Power BI não deixa essa segunda relação ativa, isso quer dizer que ela não irá funcionar.
Veja que o segundo relacionamento que foi feito fica com uma linha de pontilhados, isso é para indicar que este relacionamento não está ativo. Para resolver isso é que vamos utilizar a função USERELATIONSHIP, para forçarmos o Power BI a utilizar esse segundo relacionamento.
Voltando a guia Relatório vamos criar uma outra medida para calcular o Total de Entregas.
OBS: Lembrando de clicar com o botão direito em algum lugar da BaseVendas para garantir que a medida seja criada dentro desta tabela.
Essa será a fórmula utilizada. Como vamos fazer um cálculo que precisa de um filtro mais complexo teremos que utilizar a função CALCULATE, que inicialmente está fazendo a soma de todos os pedidos (cálculo que fizemos anteriormente), no entanto vamos utilizar um filtro após a soma.
O filtro neste caso é utilizando a função USERELATIONSHIP, que serve para criar esse relacionamento, entre essas duas colunas, para que possamos obter o valor total de entregas.
OBS: Para separar a fórmula em linhas com o objetivo de facilitar o entendimento dela basta segurar SHIFT e pressionar ENTER.
Com essa nova medida criada podemos colocar mais essa informação dentro do campo de Valores da matriz.
Desta forma será possível observar as duas análises do total de pedidos com o total de entregas feitas.
Portanto podemos fazer uma análise mais detalhada com essas duas informações e isso foi possível através da função USERELATIONSHIP. Isso é muito útil, pois muita das vezes queremos fazer mais de 1 análise utilizando uma mesma base de dados, como não é possível fazendo a relação manual podemos utilizar essa função para auxiliar no processo.
Você conhece as modalidades de curso que a Hashtag Treinamentos oferece? Possuímos uma ampla variedade de cursos, tanto online quanto presenciais! Clique para saber mais!
Quer aprender mais sobre Power BI com um minicurso gratuito?
Sócio fundador e especialista em Python da Hashtag Treinamentos. Criador do Método Impressionador para ensinar pessoas comuns a crescerem na carreira e se destacarem na empresa usando o Python.