CONTEXTO DE FILTRO. Domina el concepto teórico MAS IMPORTANTE de DAX.
¿Qué es el contexto de filtro?
Introducción al contexto de filtro
- Julio presenta el tema del contexto de filtro, que es el segundo pilar teórico del lenguaje DAX. Se enfatiza la importancia de ver videos anteriores para una mejor comprensión.
- Se menciona que se abordará la definición formal del contexto de filtro y su aplicación en medidas y tablas, así como funciones nuevas como
VALUES.
- Se anticipa que se explorará cómo los contextos de fila y filtro interactúan, además de introducir la función
CALCULATE, fundamental en DAX.
Definición del contexto de filtro
- El contexto de filtro se define como el conjunto de filtros que actúan sobre un modelo de datos durante la evaluación de una expresión DAX.
- Un filtro restringe los registros en una tabla mediante valores específicos seleccionados en columnas; esto puede expresarse tanto extensivamente (nombre columna - valor) como en formato tabla.
Expresión y existencia del contexto de filtro
- Es crucial entender que todo filtro debe expresarse como una tabla. Si no hay filtros aplicados, existe un "contexto vacío".
- La pregunta clave es qué objetos son afectados por el contexto: las medidas y las tablas son los principales elementos impactados.
Creación del contexto de filtro
- Solo hay dos funciones DAX que permiten crear un contexto:
CALCULATEpara medidas yCALCULATETABLEpara tablas.
- Aclaración sobre la función
FILTER: aunque filtra tablas, no genera un nuevo contexto; lo hace a través de iteraciones.
Ejemplo práctico con Power BI
Aplicación práctica del concepto
- En Power BI, se muestra cómo aplicar el concepto usando una matriz con la medida "monto de ventas", destacando que sin filtros, el total es 25.600.
- Al agregar categorías a filas en la matriz, se generan diferentes valores más pequeños debido a las restricciones específicas impuestas por cada categoría.
Contexto específico dentro del reporte
- Cada elemento calculado en el reporte tiene su propio contexto; por ejemplo, diferentes sumas para distintas categorías reflejan distintos contextos aplicados.
Análisis detallado del cálculo
Filtrado de Datos en Power BI
Contexto de Filtro y Aplicación
- Se establece un contexto de filtro para la celda, utilizando género masculino y categoría "Games and Toys" como filtros provenientes de las columnas de la matriz.
- Al filtrar por género masculino en la dimensión cliente, se obtienen todos los registros correspondientes. Luego, se filtran los productos que pertenecen a la categoría "Games", gracias a la relación entre las tablas.
- El modelo filtrado incluye cinco clientes y cuatro productos. Este proceso ocurre independientemente de la fórmula que se aplicará posteriormente.
Aplicación de Fórmulas
- La medida aplicada es una suma de los elementos en la columna "monto". El resultado obtenido es 440, destacando que el cálculo final depende del tipo de agregación utilizada.
- Si se emplean otras funciones como MAX o MIN, el algoritmo permanece igual; solo cambia el valor resultante según la función elegida.
Funciones Avanzadas
- Se introduce una función llamada
COUNTROWS, que permite contar filas dentro del contexto filtrado. En este caso, retorna 4 para el contexto específico (masculino y games).
- Al agregar esta medida a una matriz con el mismo contexto, se confirma que hay cuatro registros disponibles.
Contexto Adicional en Reportes
- Se explica cómo diferentes visualizaciones pueden afectar el contexto del filtro. Por ejemplo, al hacer clic en un gráfico, se activan filtros adicionales como año o estado marital.
- Un total de cinco filtros distintos conforman el contexto utilizado para calcular ciertos valores en los reportes.
Creación y Filtrado de Tablas
- Se crea una tabla calculada fuera del nivel informe (a nivel modelo), lo cual significa que no está afectada por ningún filtro existente.
- Aunque se puede aplicar un filtro mediante
FILTER, esto no modifica el contexto general; simplemente evalúa fila por fila si cumple con ciertas condiciones.
Uso de Funciones Específicas
- La función
VALUESpermite retornar valores únicos desde una columna específica. Esto ayuda a crear tablas con información relevante sin estar influenciadas por contextos externos.
Análisis de Contexto y Cálculo en Power BI
Introducción a la Fórmula y Contexto de Filtro
- Se discute cómo el contexto de filtro afecta las medidas en Power BI, destacando que las tablas calculadas no se ven afectadas, mientras que las tablas virtuales sí.
- Se presenta la fórmula
count Rowspara contar productos vendidos, utilizando la funcióncount Rowssobre una tabla de valores.
Evaluación del Contexto de Filtro
- Se explica que cada punto en un reporte se calcula independientemente bajo diferentes contextos. Se introduce un ejemplo para ilustrar este concepto.
- Para calcular un valor específico (ejemplo: número 3), se deben seguir pasos claros: primero identificar el contexto de filtro (género masculino, categoría computadoras).
Aplicación del Modelo Filtrado
- El modelo filtra dimensiones antes de aplicar la fórmula. Si solo se usara
count Rows, el resultado sería 4 debido a cuatro filas en la tabla filtrada.
- La fórmula utilizada crea una tabla virtual con valores distintos, resultando en tres valores únicos tras eliminar duplicados.
Comparación entre Funciones
- Se analiza otro valor (10), donde el contexto de filtro es vacío, lo que significa que no hay restricciones aplicadas al cálculo.
- La función
valuesgenera una tabla virtual con registros únicos; si fuera completa habría 21 registros, pero retorna solo los distintos.
Uso Avanzado de Funciones
- Se menciona que combinar
count Rowsyvalueses similar a usardistinct count, pero esta combinación permite cálculos más complejos.
- La función
valueses útil para crear indicadores complejos; se propone un nuevo indicador para contar registros con más de dos unidades vendidas.
Creación y Evaluación del Indicador
- Se introduce la medida "número de registros mayores a dos unidades", utilizando funciones como
filter.
- Al evaluar el valor (2), se identifica el único filtro activo (género femenino). Esto permite filtrar adecuadamente el modelo antes de aplicar la fórmula.
Iteraciones y Resultados Finales
- La función
filtergenera un contexto fila iterando sobre los datos filtrados.
¿Cómo se evalúan los contextos de filtro y fila en DAX?
Evaluación del contexto de filtro y fila
- Se discute la importancia de evaluar primero el contexto de filtro antes del contexto de fila al trabajar con funciones en DAX.
- Se menciona que, aunque no se tenga una columna específica (como "monto"), es posible utilizar funciones de iteración para calcular medidas sin necesidad de crear columnas calculadas.
- Se explica cómo se evalúa una expresión en una matriz, destacando el proceso paso a paso para obtener un valor específico (7.995).
- El concepto de filtro se aplica a las dimensiones y fluye hacia las tablas de hechos, lo que permite filtrar el modelo antes de aplicar la fórmula.
- La función
SUMXse utiliza bajo un contexto filtrado para realizar iteraciones y sumar valores específicos.
Aplicación práctica: Monto de ventas por continente
- Se plantea un nuevo indicador: calcular el monto de ventas para clientes del continente asiático utilizando funciones adecuadas.
- Se sugiere usar
SUMXsobre una tabla filtrada donde la columna relacionada con el continente sea igual a Asia, aunque esta no es la forma más eficiente.
- Se introduce la función
CALCULATE, que permite modificar o alterar el contexto del filtro existente para simplificar cálculos complejos.
- Al usar
CALCULATE, se puede obtener el mismo valor deseado pero con una sintaxis más sencilla, eliminando dependencias innecesarias en iteraciones.
- La medida original "monto de ventas" se compara con la nueva medida creada usando
CALCULATE, mostrando diferencias significativas en los resultados.
Contexto adicional y su impacto
- La función
CALCULATEagrega un nuevo contexto al cálculo, permitiendo incorporar filtros adicionales como el continente asiático junto con otros existentes (género y categoría).
- Se analiza cómo este nuevo contexto afecta los resultados finales al eliminar registros irrelevantes (por ejemplo, Estados Unidos).
- El uso correcto del contexto adicional es crucial; ahora hay seis maneras diferentes de incorporar contextos en expresiones DAX.
- Gracias a
CALCULATE, se pueden realizar evaluaciones más precisas sobre las medidas deseadas dentro del modelo filtrado actualizado.
Transición de Contexto en DAX
Introducción a la Transición de Contexto
- En esta semana se abordará el último tema teórico importante sobre DAX, que es la transición de contexto.
- Se menciona que si los estudiantes han comprendido previamente el contexto de fila y el contexto de filtro, aprenderán este nuevo concepto con facilidad.