Atendimento via WhatsApp Atendimento via WhatsApp

Blog Tecnológico

Power BI: Funções RELATED X RELATEDTABLE

Erick Reis • 14 nov 2023 • Microsoft Power BI

Power BI: Funções RELATED X RELATEDTABLE

Quando estamos trabalhando com Power BI, especificamente na parte de cálculos (DAX), muitas vezes nos deparamos com funções que fazem trabalhos parecidos e que tem nomes parecidos, mas que o método de utilização é diferente.

Como por exemplo, as funções RELATED e RELATEDTABLE.

Mas qual a diferença entre elas?

A função RELATED e sua função complementar RELATEDTABLE são duas funções importantes em Dax, são utilizadas com frequência e desempenham um papel fundamental quando se usa o contexto de linha com relacionamentos. Nós usamos o RELATED quando analisamos uma tabela e dentro do contexto de linha, buscamos acessar as linhas das outras tabelas que estão relacionadas.

Quando temos um contexto de linha apresentado, podemos acessar o valor de qualquer tabela que sendo repetida(iterada)

RELATED – Permite que você busque uma coluna presente em outra tabela para o seu cálculo atual (Geralmente essa coluna está na tabela dimensão, é como se você estivesse pegando o conteúdo da tabela dimensão e trazendo para um contexto de cálculo que está acontecendo na tabela Fato).

RELATEDTABLE - Já a RELATEDTABLE trabalha no sentido inverso, enquanto a função RELATED pega as informações da tabela dimensão e traz para a tabela Fato para que um cálculo possa ser realizado, a função RELATEDTABLE tende a levar informações da tabela Fato para a Tabela dimensão (Trabalhando no sentido inverso da RELATEDTABLE).

Por exemplo, vimos que o caminho pela qual a informação percorre tende a ser sempre da tabela dimensão para a tabela fato.

No exemplo vamos utilizar nossa tabela Dim Produtos:

Digamos que você queira através da tabela Dim Produtos, saber quantas vendas cada produto teve e criar uma coluna mostrando esses resultados para nós.

Mas a informação que especifica a quantidade de produtos vendidos está na nossa tabela Fato Vendas:

É justamente nesse momento que entra a função RELATEDTABLE para trazer a coluna de quantidade (tabela Fato) para a tabela Dim Produtos (Dimensão):

Por exemplo, como meu objetivo é saber a quantidade de vendas que cada produto teve e levando em conta que cada linha da tabela Fato representa uma venda, se contarmos quantas linhas tem na tabela Fato consequentemente chegamos no número de vendas por produto.

É exatamente utilizando essa lógica que criarei nossa coluna calculada utilizando uma função de contagem de linhas chamada COUNTROWS:

A função COUNTROWS conta quantas linhas você tem em uma tabela (mas sem perder o contexto da linha, ou seja, ele conta sabendo qual produto foi vendido, em qual data etc.)

E aqui como estamos tentando realizar um cálculo dentro da tabela dimensão envolvendo informações da tabela fato, vamos precisar utilizar a função RELATEDTABLE para que ele consiga realizar essa contagem, caso contrário o resultado é o seguinte:

Notem que sem a função RELATEDTABLE, ele retorna o mesmo valor para todos os produtos (isso porque por si só a função COUNTROWS não consegue pegar as informações da tabela Fato e trazer para a tabela dimensão).

Agora quando utilizamos junto com a COUNTROWS nossa função RELATEDTABLE:

Qtde Prod Vendidos =

COUNTROWS(RELATEDTABLE('Fato Vendas'))

 

Notem que sem a função RELATEDTABLE, ele retorna o mesmo valor para todos os produtos (isso porque por si só a função COUNTROWS não consegue pegar as informações da tabela Fato e trazer para a tabela dimensão).

De uma forma direta, enquanto a função RELATED tende a trazer informações de uma tabela dimensão para a tabela Fato (Claro que a aplicação pode variar), a RELATEDTABLE faz justamente o oposto; ela traz as informações da tabela Fato para a tabela dimensão (como uma espécie de filtro bidirecional.)

 

 

Gostou deste conteúdo?




 

 

Erick Reis

Erick Reis

Graduado em Análise e desenvolvimento de sistemas pela FAM, apaixonado por tecnologias que envolvam análise de dados, programação, banco de dados. Atualmente atuando em tecnologias de análise de dados como: Power BI, Excel, Banco de dados. Erick conquistou sua Certificação em Power BI, na ENG DTP & Multimídia. E veio a se tornar um MCT em Power BI, na ENG DTP & Multimídia.

ENG DTP & Multimídia - Logo

 

 

ENVIE SEU CONTATO e SEUS COMENTÁRIOS


LinkedIn da ENG DTP Multimídia
     Facebook da ENG DTP Multimídia     Instagram da ENG DTP Multimídia

 Jornad Graphic Design