fbpx

função FILTER

#ABCdoDAX

Função FILTER

A função FILTER filtra tabelas com base em determinados critérios e posteriormente as medias utilizam esse filtro.

Quer dizer que essa função não funciona “sozinha”, ela precisa de uma outra função. Normalmente a função CALCULATE ou as funções “X” a utilizam, já que elas atuam diretamente no chamado contexto de linha, isto é diretamente nas linhas da tabela.

função FILTER irá trabalhar no contexto de linha, “filtrando” a tabela para que a seguir esses dados filtrados sejam mensurados em alguma medida.

No exemplo a seguir criamos uma medida para somar a receita somente da família “Frutas”.

A função FILTER tem 2 argumentos: a tabela a ser filtrada e o critério para aquele filtro.

Exemplo da função

Veja como ficará para nosso exemplo:

A medida base será a função CALCULATE, uma vez que queremos calcular a RECEITA para aquela família.

O 2º argumento da CALCULATE será o critério. No nosso caso será a família FRUTAS.

No 1º argumento da nossa função informamos a tabela, que é a de Cadastro de Produtos. O 2º argumento será o nosso critério, que corresponde à Família Frutas.

Depois de formatar nossa matriz ficará assim:

As demais famílias estão em branco porque na nossa medida o 1º cálculo é filtrar nossa tabela de Produtos para a família Frutas.

Em termos visuais a medida enxerga somente isso:

Então é como se as demais famílias não existissem.

Daí quando colocamos essa medida em um visual o contexto de filtro passa a ser aplicado (em termos bem gerais, o contexto de linha refere-se às linhas da tabela e o contexto de filtro refere-se ao que vemos nos visuais).

Quando a medida passa para a Matriz ela vai aplicar o contexto de filtro, então na linha de Frutas a função vai olhar a tabela FILTRADA e somar os valores da Receita da Família Frutas.

Quando estivermos na linha da Família Legumes ela fará o mesmo, mas como a tabela filtrada tem somente Frutas, ele vai dar zero, porque na tabela de Frutas não tem família legumes.

O novo layout…

Uma tabela de Produtos mostrará isso:

A função FILTER filtra a tabela para Frutas e a função CALCULATE “anda” pelo visual com os produtos para somar suas receitas.  Na tabela filtrada não tem abóbora, porque é um legume, então ele retorna zero, porque ele está lendo primeiramente o filtro aplicado.

Se pusermos outro campo, o Estado por exemplo, teremos somente os valores daquele estado da Receita de…Frutas:

Isso ocorre porque relacionamos nossas tabelas e o filtro se “propaga” para aquela tabela.

Se você se lembra da função CALCULATE talvez se lembre que nela nós usamos um critério também. Então qual a diferença?

Num visual nossa diferença aparece assim:

Isso porque a função CALCULATE trabalha no contexto de filtro. Como estamos usando um critério de Famílias esse critério passa a valer sobre as linhas do visual, como se não existissem.

Por isso o valor repetido, pois a função está ignorando a informação do visual.

Se fôssemos usar a função FILTER para simular o que esse exemplo da CALCULATE está fazendo nós teríamos isso:

 

Licença Creative Commons

OUTROS ARTIGOS DE INTERESSE

Fabio Vianna
Siga-Me

Nossas Redes Sociais

Facebook
Linkedin
Instagram
Youtube