Função CrossFilter no Power BI

A função CROSSFILTER no Power BI permite modificar a direção e o comportamento dos filtros em relacionamentos entre tabelas dentro de medidas DAX.

Ou seja, isso é útil quando se deseja controlar como um campo influencia outro, especialmente em cenários onde múltiplas tabelas estão interligadas.

Sendo assim, neste post, vamos colocar em prática a aplicação da função CROSSFILTER no Power BI.

BASE DE DADOS

Entendendo a Base de Dados no Power BI

Antes de mais nada, temos uma base de dados no Excel no qual já foi importada para o Power BI, contendo uma tabela de vendas com as informações sobre ID da venda, data, vendedor, produto, categoria, marca, região, quantidade, preço unitário e total de vendas.

Tabela de Vendas no Excel Importada
Tabela de Vendas no Excel Importada para o Power BI

Além disso, temos uma tabela de Vendedores separada, conectada à tabela de vendas pelo nome do vendedor:

Tabela de Vendedores no Excel Importada para o Power BI
Tabela de Vendedores no Excel Importada para o Power BI

Neste caso, gostaríamos de saber a quantidade de vendas por vendedores.

Sendo assim, mesmo relacionando as tabelas, conforme apresentados abaixo, temos que mudar a direção da filtragem, tornando-a bidirecional, permitindo que filtros aplicados na tabela de Vendas também afetem os dados da tabela Vendedores.

Relacionamento Entre Tabelas
Relacionamento Entre Tabelas no Power BI

Aplicando a Função CROSSFILTER no Power BI

Posteriormente, vamos criar uma medida que retorne o total de vendas por vendedor, mas permitindo que a filtragem seja aplicada em ambos os sentidos.

Então, vá em Modelagem e clique em Nova Medida:

Criando Nova Medida no Power BI
Criando Nova Medida no Power BI

Em seguida, inserida a DAX abaixo:

Total Vendas Ajustado =

CALCULATE(
    SUM(tbVendas[Total de Vendas]),
    CROSSFILTER(tbVendedores[Vendedor], tbVendas[Vendedor], BOTH)
)

Ou seja, CALCULATE modifica o contexto do cálculo, SUM calcula o total das vendas, CROSSFILTER e BOTH altera a direção do filtro para ambos os lados, permitindo que filtros aplicados na tabela de vendedores afetem a tabela de vendas e vice-versa.

Criando DAX
Criando DAX no Power BI

Com isso, teremos a nossa medida criada na tabela de Vendas:

Medida Criada no Power BI
Medida Criada no Power BI

Inserindo Visual no Power BI

Por fim, para testar a medida no relatório, selecione um Gráfico de Barras e arraste Vendedor da tabela de Vendas para o Eixo Y e no Eixo X, adicione a medida Total Vendas Ajustado.

Criando Gráfico de Barras com DAX
Criando Gráfico de Barras com DAX no Power BI

Assim, teremos o resultado abaixo:

Gráfico de Barras com DAX no Power BI
Gráfico de Barras com DAX no Power BI

Posteriormente, clique em Segmentação e arraste o campo de Região:

Inserindo Segmentação de Dados
Inserindo Segmentação de Dados no Power BI

Agora, ao aplicar filtros no relatório com a segmentação de dados inserida, será possível verificar que a filtragem bidirecional está funcionando corretamente.

Conferindo a Funcionalidade da DAX CROSSFILTER no Power BI
Conferindo a Funcionalidade da DAX CROSSFILTER no Power BI

Portanto, com as dicas acima, você será capaz de utilizar a DAX CROSSFILTER no Power BI.

Curso de Power BI Completo:

Este é o curso que vai te transformar em NINJA no Microsoft Power BICurso do ZERO ao Avançado em videoaulas passo a passo. Carga horária +20 horas (e crescendo com aulas novas).

cta curso de power bi completo

Por fim, deixe seu comentário sobre o que achou de usar este recurso e você também pode enviar a sua sugestão para os próximos posts.  Até breve!

Artigos Relacionados ao Power BI: