Cuando DAX calcula algo en LuckyTemplates, funciona a través de un proceso de dos pasos. Al principio, evalúa el contexto en el que se encuentra actualmente. Una vez que lo ha hecho, decide cómo voy a calcular estos resultados y ahí es donde entran en juego los otros dos contextos.
En este artículo en particular, nos vamos a centrar en el contexto de la evaluación . Pasaré por un ejemplo simple aquí para explicar lo que realmente significa.
Comprender el contexto de la evaluación a través de ejemplos
Lo que tenemos aquí es una tabla sencilla que va midiendo el número o cantidad de lo que hemos vendido por día.
Evaluemos rápidamente lo que está haciendo esta fórmula. Está resumiendo la columna Cantidad en la tabla Ventas.
Cuando vayamos a la tabla Ventas, veremos que la medida está contando la columna Cantidad como 1 para todas las filas.
Para obtener los resultados en la columna Cantidad total vendida, la fórmula que usamos es exactamente la misma. Nada cambia para ninguno de estos resultados. Lo único que cambia inicialmente es el contexto de evaluación .
Para cada fila, tenemos un contexto de evaluación diferente . Y por eso, recibimos un resultado diferente para cada fila.
¿Qué es la propagación del filtro?
Ahora, lo que sucede detrás de escena es que para cada fila aquí, se coloca un filtro en los datos.
Volvamos a la tabla de datos de nuestro modelo. Con el contexto de evaluación , la columna Fecha proviene de la tabla Fechas. Entonces, se está colocando un filtro en la columna Fecha aquí.
Cuando colocamos este filtro, fluye hacia abajo a esta relación con la tabla Ventas y filtra automáticamente la tabla. Esto es lo que llamas propagación de filtros.
Cualquier filtro que fluya de un lado hacia abajo al lado mini filtrará esa tabla.
Entonces, en este ejemplo en particular, el contexto comienza en la tabla Fechas y luego fluye automáticamente hasta la tabla Ventas. Y es por eso que obtenemos un resultado diferente para cada fila.
Siempre que audite o evalúe lo que está haciendo una fórmula, debe pensar en el contexto de evaluación cada vez.
Esto se debe a que todo siempre comienza con el contexto de evaluación. Esto es importante a medida que comienza a desarrollar fórmulas DAX cada vez más avanzadas.
Evaluación Contexto Por Escritura Fórmula Avanzada
Otra gran cosa sobre el contexto de evaluación es que es el verdadero poder detrás de la fórmula DAX .
Le permite obtener tantos resultados rápidamente escribiendo fórmulas simples.
Lo mismo se puede decir también para escribir fórmulas avanzadas. Puede usar una fórmula avanzada, ponerla en un contexto de evaluación diferente y obtener numerosos resultados diferentes muy rápidamente.
Así que solo hicimos un pequeño cambio aquí y agregamos Product Name en nuestra primera tabla. La fórmula DAX no cambió en absoluto, pero sí el contexto de evaluación . Es por eso que tenemos diferentes resultados aquí.
El mismo proceso también funciona en este ejemplo, donde el contexto de evaluación de estos resultados comienza en la tabla Productos y pasa por la columna Nombre del producto.
Este proceso filtrará cada fila. Por lo tanto, cualquiera que sea el nombre de producto específico que se use, filtrará toda la relación y luego filtrará también la tabla de ventas subyacente.
Esta es solo una breve descripción de lo que es el contexto de evaluación . Todo lo que tiene que hacer en LuckyTemplates es cambiar el contexto y obtendrá un resultado muy diferente.
Es muy importante comprender cómo funciona esto porque, en su mente, debe pensar cuál es el contexto de evaluación actual de la fórmula.
Eso dará como resultado una comprensión de por qué está obteniendo un resultado específico en un contexto específico.
Algunos enlaces recomendados para que pueda obtener más información sobre la aplicación de los tres contextos dentro de LuckyTemplates: