função FILTER
#ABCdoDAXFunçã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.
A 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:
OUTROS ARTIGOS DE INTERESSE
função SUMX
Função SUMX A função SUMX é uma função faz uma...
função COALESCE
Função COALESCE A Microsoft periodicamente...
função ALLSELECTED
Função ALLSELECTED A função ALLSELECTED é uma...
- 6 maneiras de usar o preenchimento relâmpago - março 12, 2021
- quatro motivos para voce parar de usar o procv - fevereiro 16, 2021
- Como Criar um Gráfico de Waterfall no Excel - fevereiro 2, 2021
Nossas Redes Sociais