A primeira função para começar a aprender DAX é CALCULATE. Esta função não tem uma contrapartida exata em Excel, mas é comparável às funções SUMIFS e COUNTIFS . Resumindo, esta função aplica filtros a outras funções de cálculo, assim podemos selecionar e incluir nos cálculos apenas os dados que necessitamos.
=CALCULATE(< expressão estatística >, < filtro1 >, < filtro2 >,...)
< expressão estatística >
Expressão estatística deve nos retornar o resultado do cálculo (um valor, não uma tabela). Por esta razão, funções estatísticas do tipo são frequentemente utilizadas nesta configuração SUM , MÍNIMO , MÁX. , COUNTROWS etc.
< filtro1 >, < filtro2 >, ...
Filtro define o intervalo de dados a ser trabalhado. As condições para seleção de valores são especificadas aqui.
Suponha que temos uma tabela assim, chamada
Vamos criar uma tabela resumo com base nela e contar a quantidade de registros de cada produto.
Agora vamos criar um novo campo de cálculo
Como obtivemos os números no campo de cálculo Count_All_Product 16 ? A explicação é que removemos deste campo todos os filtros que foram aplicados na tabela dinâmica (cada linha da tabela dinâmica é um filtro separado), usando a função ALL() . Ou seja, em outras palavras, uma função ALL (
Vamos adicionar outro campo
Vemos que os números estão no campo
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Mudamos o argumento para a função ALL() substituindo
Então vemos o que está em campo