La primera función para empezar a aprender DAX es CALCULATE. Esta función no tiene una contraparte exacta en Excel, pero es comparable a funciones SUMIFS y COUNTIFS . En definitiva, esta función aplica filtros a otras funciones de cálculo, por lo que podemos seleccionar e incluir en los cálculos sólo los datos que necesitamos.
=CALCULATE(< expresión estadística >, < filtro1 >, < filtro2 >,...)
< expresión estadística >
Expresión estadística debería devolvernos el resultado del cálculo (un valor, no una tabla). Por este motivo, en este entorno se suelen utilizar funciones estadísticas del tipo SUM , MÍNIMO , MÁXIMO , PAÍSES etc.
< filtro1 >, < filtro2 >, ...
Filtrar Define el rango de datos con los que se va a trabajar. Aquí se especifican las condiciones para seleccionar valores.
Supongamos que tenemos una tabla de este tipo, que se llama
Creemos una tabla de resumen basada en ella y contemos la cantidad de registros para cada producto.
Ahora creemos un nuevo campo de cálculo.
¿Cómo obtuvimos los números en el campo de cálculo Count_All_Product? dieciséis ? La explicación es que eliminamos para este campo todos los filtros que se aplicaron en la tabla dinámica (cada fila en la tabla dinámica es un filtro separado), usando la función ALL() . En otras palabras, es una función ALL (
Agreguemos otro campo
Vemos que los números están en el campo.
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Cambiamos el argumento a la función ALL() reemplazando
Entonces vemos lo que hay en el campo.