Blog

Postado em em 13 de abril de 2020

DAX Power BI – Como Usar a Função FILTER

Nessa publicação vamos falar um pouco mais sobre o DAX Power BI. Mais especificamente, vamos ver como funciona a função FILTER no Power BI.

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!

O que é é o DAX Power BI?

O DAX Power BI nada mais é do que a coleção de funções, operadores e fórmulas do Power BI. A função FILTER é uma fórmula do Power BI que permite com que o usuário obtenha determinadas informações como se estivesse filtrando uma tabela, para mostrar somente aquilo que deseja.

Quando utilizar o DAX Power BI?

Essas fórmula serão utilizadas sempre que o usuário precisar efetuar um cálculo que envolva dados específicos, neste caso ele poderá informar quais são esses dados para que o Power BI consiga efetuar o cálculo sem levar em conta os outros dados da tabela.

Como utilizar a função FILTER?

O primeiro passo antes da utilização do filtro é fazer uma análise rápida dos dados que temos para entendê-los.

Banco de dados

Banco de dados

É possível observar que temos uma lista de funcionários com as informações de cada um deles, como a data de contratação, idade, cargo, salário e área de atuação.

Para iniciar vamos querer descobrir quantos funcionários ganham acima da média salarial e para isso teremos que primeiramente descobrir quando é esse valor de média salarial.

Para isso vamos criar uma Nova Medida, para isso basta clicar com o botão direito do mouse em qualquer lugar da tabela e selecionar essa opção.

Medida para Média Salarial

Medida para Média Salarial

Para a média vamos utilizar a fórmula AVERAGE (média em inglês) e dentro da fórmula será colocada a coluna na qual essa média será obtida.

Feito isso a medida será criada, mas qualquer medida criada dentro do Power BI não aparece diretamente na tabela, será necessário criar um cartão (ou outro gráfico) para poder visualizar esse dado. O mais comum é a criação de um cartão, pois ele permite a visualização de apenas uma única informação.

Média Salarial

Média Salarial

Para a criação desse cartão basta selecionar essa opção na parte de Visualizações da guia Relatório e em seguida arrastar a medida de Média Salarial que acabamos de criar para o campo do Cartão.

Para evitar que o número fique arredondado e seja possível observá-lo por completo basta ir até a parte de Formato, em seguida em Rótulo de dados e alterar a parte de Exibir unidades para Nenhum.

Alterando unidades - DAX Power BI

Alterando unidades

Após as formatações teremos o valor da média salarial e com isso podemos então, calcular a quantidade de funcionário que recebem acima da média. Vamos primeiro ver a forma mais simples de fazer o cálculo e em seguida vamos ver a forma “correta” de fazer.

Como todo cálculo que fazemos começa com uma medida vamos novamente criar outra medida para esse cálculo.

Quantidade de funcionários que recebem acima da média

Quantidade de funcionários que recebem acima da média

Com essa fórmula será possível fazer um cálculo (CALCULATE) com uma expressão que nesse caso é a fórmula COUNT (que serve para contar). Neste caso logo após a fórmula COUNT vamos indicar ao programa qual o critério dessa conta (que é o segundo argumento da fórmula CALCULATE). O critério é que queremos contar apenas os funcionários que possuem salário maior ou igual a R$7.487,55.

Feito isso já podemos colocar essa medida dentro de outro cartão para verificar o resultado.

Resultado da medida

Resultado da medida

É possível observar que temos 561 funcionários que recebem acima da média de um total de 1.593 funcionários.

Como a média que colocamos dentro da medida é fixa ela não será alterada caso o número de funcionários seja alterado ou até mesmo o valor de salário seja alterado, para isso precisamos de uma forma automática de atualizar esse valor.

Para utilizar filtros mais complexo ao invés de uma simples comparação como foi feita é que vamos utilizar a fórmula FILTER. Então vamos refazer a fórmula e escrever cada parte em uma linha para não ficar bagunçado e facilitar o entendimento.

Nova fórmula para o cálculo de funcionários acima da média - DAX Power BI

Nova fórmula para o cálculo de funcionários acima da média

Nesta fórmula estamos acrescentando a fórmula FILTER onde tínhamos a comparação simples com o salário. Para essa fórmula temos 2 argumentos, o primeiro é a tabela em que vamos obter os dados, como só temos uma será ela mesma. O segundo argumento é a expressão, aqui novamente vamos fazer a comparação, no entanto, aqui será possível utilizar o valor da medida de Média Salarial.

Esse procedimento de utilizar uma medida já existente não funciona no caso anterior caso o usuário substitua o número pela medida, por isso a necessidade de utilizar o FILTER.

OBS: Para deixar a fórmula mais organizada, escrevendo cada parte em uma linha basta pressionar SHIFT + ENTER para pular a linha e continuar o código na linha seguinte.

Resultado da nova fórmula (errado)

Resultado da nova fórmula (errado)

Neste caso é possível observar que o resultado ficou diferente do anterior, pois tínhamos apenas 561 funcionário com o salário acima da média e agora temos que todos os funcionários ganham acima da média.

Essa conta está errada e agora vamos entender o motivo. O problema está justamente na Média Salarial que estamos utilizando, pois tínhamos no início que a média era de R$7.487,55.

Ao utilizar a fórmula FILTER ele acaba olhando linha por linha de forma individual, ou seja, na hora que esse fórmula estiver calculando a média ela vai olha para 1 linha de cada vez e vai verificar se o valor do salário é maior ou igual a média, mas como só temos um único valor a média dele é ele mesmo.

Então neste caso a fórmula FILTER vai dizer que todos os valores que temos são maiores ou iguais a média, pois essa média está sendo calculada para cada linha individualmente e não levando em conta todos os funcionários.

Para resolver esse problema vamos criar uma Média Salarial Absoluta para que possamos obter o valor total da média sem que ocorra esse problema do filtro de efetuar a média somente do funcionário que está sendo analisado no momento.

Fórmula "correta" para o cálculo da média salarial - DAX Power BI

Fórmula “correta” para o cálculo da média salarial

Com essa fórmula será possível calcular a média salarial que já temos, mas com a fórmula ALL vamos ignorar todos os filtros que estejam sendo aplicados, ou seja, vamos pegar todos os funcionários independente do filtro. Desta forma será possível obter a média correta de todos os funcionários sem obter de um por um.

Resultado da Média Salarial (correto)

Resultado da Média Salarial (correto)

Desta forma foi possível obter o mesmo valor de média, no entanto ignorando os filtros para que não ocorra variações na hora do cálculo e levando em conta todos os funcionários para esse cálculo.

Fórmula correta para o cálculo da quantidade de funcionários acima da média

Fórmula correta para o cálculo da quantidade de funcionários acima da média

Feito isso basta substituir a nova medida na fórmula de quantidade de funcionários acima da média para obtermos os valores corretos.

Resultado correto da quantidade de funcionários acima da média - DAX Power BI

Resultado correto da quantidade de funcionários acima da média

Nessa aula foi possível aprender como utilizar a fórmula FILTER e verificar que essa fórmula faz as análises linha por linha ao invés de considerar toda a coluna, portanto é necessário tomar cuidado ao utilizar essa fórmula para não obter dados incorretos.

Você está procurando por curso de Excel? Clique para saber mais! Aqui na Hashtag temos as melhores opções de curso pra você, inclusive cursos presenciais de Excel, Power BI e VBA!


Quer aprender mais sobre Power BI com um minicurso gratuito?


Quer participar do maior evento de Power BI da América Latina de forma 100% Online e Gratuita? Inscreva-se abaixo!