Skip to content

CALCULATE Ingenuo en DAX: La Hora de la Verdad

Primera parte de una serie completa sobre CALCULATE para dominar su primer pilar: Filtros Explícitos – Parte 1

¡Hola a todos y todas!

En este primer artículo y video, comenzamos un estudio fascinante sobre el Lenguaje DAX. Analizaremos la función CALCULATE, considerada la más importante en DAX porque permite modificar el contexto de evaluación, ya sea el contexto de fila, contexto de filtro o contexto visual.

Es posible que la frase “modificar el contexto de evaluación” suene un poco compleja si no estás familiarizado con el Lenguaje DAX. Pero ese es justamente el propósito de esta serie de artículos y videos: explicar de manera clara y sencilla CALCULATE en relación con estos conceptos.

Los Pilares de CALCULATE

La función CALCULATE en el Lenguaje DAX es tan poderosa que, para dominarla, se requiere de un estudio profundo, meticuloso, y un entendimiento teórico y práctico. Es un proceso que lleva tiempo. Por eso, para dejarlo claro, dominar CALCULATE implica comprender a fondo estos 4 pilares:

  • Filtros Explícitos
  • Filtros Implícitos
  • Modificadores de CALCULATE
  • Orden de Precedencia

Cada uno de estos pilares merece un estudio profundo, ya que cada uno podría ser un curso completo por sí solo, sin exagerar. Por eso, en esta serie de 20 artículos y videos, nos enfocaremos al 100% en dominar el primer pilar: Filtros Explícitos.

CALCULATE Ingenuo en DAX

Vamos a hacer una primera aproximación a la función CALCULATE de manera sencilla. Me gusta llamarlo “ingenua”, no en un sentido despectivo, sino para mostrar lo fácil que es empezar a usarla. En pocos minutos, podremos aplicar esta función y entender su lógica básica. Sin embargo, profundizaremos más adelante, ya que esta primera aproximación es solo una introducción para que cualquier persona pueda utilizarla. Para dominarla completamente, es necesario conocer sus detalles.

Usaremos el modelo de Disproductos para este ejemplo, el cual puedes descargar en la sección de descargas al final de este artículo.

Matriz de Referencia

Utilizando el modelo de Disproductos, crearemos una matriz con los años en las filas y la medida Ingresos Tot en los valores. El resultado se verá de la siguiente manera:

Matriz Incial

Para la matriz mostrada, queremos crear una medida que nos devuelva los Ingresos únicamente para el producto con SKU CB01. Esto se logra fácilmente con CALCULATE de la siguiente manera:

                1 | IngCB01 = 2 | CALCULATE ( 3 |     SUM ( Pedidos[Ingresos] ),4 |     SKUProductos[SKU] = "CB01"5 | )            

Aquí podemos ver que CALCULATE es simple. Es decir, en su primer parámetro, esencialmente indicamos qué queremos calcular, y a partir del segundo parámetro en adelante, señalamos los filtros que queremos aplicar, en este caso, para un SKU en particular.

Ahora bien, si quisiéramos aplicar otros filtros, simplemente debemos añadir el nuevo filtro. Por ejemplo, si queremos filtrar por el tipo de compra, la solución sería así:

                1 | IngCB01yNoraml = 2 | CALCULATE ( 3 |     SUM ( Pedidos[Ingresos] ),4 |     SKUProductos[SKU] = "CB01",5 |     Pedidos[Tipo de Compra] = "Normal"6 | )            

Como podemos notar, plantear CALCULATE de esta forma es muy sencillo: primero indicamos la medida y luego los filtros, que se expresan como condiciones lógicas. Sin embargo, en realidad, el uso de CALCULATE va mucho más allá.

El Ing. Miguel Caballero es Microsoft MVP en la categoría Data Platform, además, es Microsoft Certified Trainer. Exmiembro de Power Skill (Escuela de Inteligencia de Negocios S.A.S) y Excel Free Blog

Back To Top