Você sabia que é possível fazer uma análise de valor por 2 datas diferentes no Power BI utilizando 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 por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Você provavelmente já fez análises de dados no Power BI e pode ter notado que ele não permite relações múltiplas entre tabelas (entre as mesmas tabelas), não é mesmo?
Isso quer dizer que você não vai conseguir fazer 2 relações entre as mesmas 2 tabelas. Uma delas vai ficar ativa, enquanto a segunda fica inativa.
Isso é um problema quando você precisa fazer uma análise de valores por 2 datas diferentes. No exemplo da aula nós vamos mostrar uma análise para vendas e outra para entregas com uma mesma base calendário.
Como o Power BI não permite criar essas duas relações entre as duas tabelas nós vamos utilizar a fórmula USERELATIONSHIP que vai forçar uma relação no Power BI.
Então estaremos forçando uma relação no Power BI, que é a relação que está inativa, para que ele também funcione e você consiga fazer suas análises.
É claro que você tem a opção de criar uma segunda tabela calendário, por exemplo, mas isso vai gerar mais dados e deixar o seu arquivo ainda maior, o que não é muito interessante.
Agora você vai poder fazer suas relações de forma eficiente sem ter que aumentar o tamanho do seu arquivo ou utilizar outros artifícios.
Medidas
Para fazer parte da nossa análise de dados, precisamos criar medidas, que serão as nossas totalizadoras.
Farão parte de indicadores ou serão indicadores que representam fatos sobre os nossos dados.
. Para criá-las, vamos:
A primeira fórmula criada será:
Total Vendas = SUM(BaseVendas[Qtd Vendida])
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 Vendas” para o campo de Campos do cartão.
Análises
– Quantidade de vendas no tempo
Pra fazer a análise de quantidade de vendas feita no tempo, precisaremos criar uma matriz.
Teremos o seguinte resultado:
Retirando a Hierarquia de datas, e colocando a coluna Mês/Ano corretamente na matriz, teremos:
Há algo de errado. A quantidade se repetiu para todos os anos apontados.
O que há de errado, então?
Colocamos as informações de duas tabelas diferentes na mesma matriz. Como elas não estão relacionadas entre si, as informações ficam sem sentido (valores repetidos da medida para todos os anos, e o total igual ao valor da medida).
Para corrigir essa questão, deveremos relacionar as tabelas. Assim, a tabela calendário conseguirá filtrar as informações da tabela BaseVendas.
Indo na 3ª guia do Power BI, a guia Modelo, conectaremos as colunas de Data (tabela Calendario) com a Data da Venda (tabela BaseVendas), clicando e arrastando uma coluna e soltando em cima da outra. Observe o que devemos esperar como resultado:
Voltando na 1ª Guia, de Relatório, teremos o seguinte cenário:
Agora o filtro ocorre de forma correta, com as quantidades de vendas realizadas em cada mês respectivo, totalizando 71442 vendas feitas pela empresa.
– Quantidade de produtos entregues no tempo
Para fazer a análise de produtos entregues deveríamos criar um relacionamento entre as colunas de Data Entrega (BaseVendas) e Data (Calendario). Dessa forma:
Usando a medida
Total Produtos Entregues (Teste) = SUM(BaseVendas[Qtd Vendida])
Nós teríamos:
Repare que temos os números desejados, de quantidade de produtos entregues por mês.
Só que isso desfaz a primeira medida e o relacionamento criado no começo/análise anterior, onde teríamos a quantidade de vendas ao longo do tempo.
Se quisermos ter os dois ao mesmo tempo, como faremos?
Conforme mostramos em aula, quando criamos dois relacionamentos ao mesmo tempo entre as mesmas tabelas, um deles fica ativo, e outro inativo (o mesmo acontece com quantos forem criados a partir do 2º). Veja:
Acima temos o relacionamento Data da Venda – Datas ativo (linha contínua) e o relacionamento Data da Entrega – Datas inativo (tracejado).
Dessa forma apenas o relacionamento ativo fará o filtro das informações nas tabelas e visuais.
Se quisermos ter os dois ao mesmo tempo, precisamos utilizar da fórmula USERELATIONSHIP, que vai ativar/forçar dois relacionamentos a funcionarem ao mesmo tempo (no caso vai fazer o inativo funcionar, apenas para aquela medida específica).
Vamos utilizar da seguinte fórmula:
Total Produtos Entregues =
CALCULATE(
SUM(BaseVendas[Qtd Vendida]),
USERELATIONSHIP(BaseVendas[Data da Entrega],Calendario[Datas])
)
Explicação:
Assim, colocando tanto a medida Total Vendas (início), quanto a criada agora (Total Produto Entregues) na mesma matriz, observaremos os dois resultados da forma correta e simultânea:
Aprendemos na aula de hoje fazer uma análise de valor por 2 datas diferentes com relacionamentos entre as mesmas tabelas!
Através da fórmula USERELATIONSHIP conseguimos ativar ou forçar uma relação inativa (tracejada)!
Mostramos na prática o que ocorre e como resolver a questão apresentada.
Até o próximo post! Fique ligado no nosso canal do Youtube para mais conteúdo de Power BI! Um abraço!
Para acessar outras publicações de Power BI, clique aqui!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.