Bienvenido a la Guía Interactiva de DAX
Esta aplicación está diseñada para ayudarte a comprender y dominar funciones DAX de nivel intermedio. A diferencia de una guía estática, aquí podrás interactuar con los ejemplos, ver los datos y observar cómo los cálculos impactan en los resultados y visualizaciones en tiempo real.
Cómo usar esta guía:
- Usa el menú de la izquierda para navegar entre las diferentes funciones DAX.
- En cada sección, encontrarás una explicación del concepto y la sintaxis.
- Explora la sección "Ejemplo Interactivo" para ver la función en acción con una tabla de datos de muestra.
- Observa cómo el resultado se calcula y se representa en una gráfica.
- Finalmente, pon a prueba tus conocimientos en la sección de "Ejercicios Prácticos".
Función de Agregación: SUMX
Calcula la suma de una expresión evaluada para cada fila de una tabla.
Concepto Clave
SUMX es una función iteradora. Primero, recorre la tabla fila por fila. En cada fila, realiza el cálculo que le indicas en la expresión. Finalmente, suma todos los resultados individuales de cada fila para obtener el total. Es ideal para cálculos como "Ingresos Totales" (Precio * Cantidad) cuando no tienes una columna precalculada.
Sintaxis
SUMX(<tabla>, <expresión>)
Ejemplo Interactivo
Queremos calcular los ingresos totales. Para ello, necesitamos multiplicar la cantidad por el precio unitario para cada producto y luego sumar esos subtotales. Esta es la tarea perfecta para SUMX.
Tabla de Datos de Muestra: 'Ventas'
Fórmula DAX
Ingresos Totales = SUMX(Ventas, Ventas[Cantidad] * Ventas[Precio Unitario])
Ingresos por Producto
Función de Agregación: AVERAGEX
Calcula el promedio de una expresión evaluada para cada fila de una tabla.
Concepto Clave
Al igual que SUMX, AVERAGEX es una función iteradora. Recorre la tabla fila por fila, evalúa la expresión, y luego calcula el promedio (media aritmética) de todos los resultados individuales. Es útil para obtener promedios de cálculos complejos, como el "Ingreso Promedio por Transacción".
Sintaxis
AVERAGEX(<tabla>, <expresión>)
Ejemplo Interactivo
Calculemos el ingreso promedio por transacción. AVERAGEX iterará sobre la tabla 'Ventas', calculará el ingreso de cada fila (Cantidad * Precio) y finalmente promediará esos valores.
Tabla de Datos de Muestra: 'Ventas'
Fórmula DAX
Ingreso Promedio = AVERAGEX(Ventas, Ventas[Cantidad] * Ventas[Precio Unitario])
Ingresos por Producto (para comparación)
Función Lógica: IF
Comprueba si se cumple una condición y devuelve un valor si es VERDADERO, y otro si es FALSO.
Concepto Clave
La función IF es la base de la lógica condicional en DAX. Permite crear cálculos o columnas que se comportan de manera diferente según los datos de cada fila. Es perfecta para clasificar datos, como etiquetar ventas como "Grandes" o "Pequeñas".
Sintaxis
IF(<prueba_lógica>, <valor_si_verdadero>, <valor_si_falso>)
Ejemplo Interactivo
Crearemos una columna calculada para categorizar los productos como "Costoso" o "Económico". Usaremos IF para comprobar si el precio unitario es mayor a 20.
Tabla de Datos 'Ventas' con Columna Calculada
Fórmula DAX (para la nueva columna)
Categoría Precio = IF(Ventas[Precio Unitario] > 20, "Costoso", "Económico")
Función Lógica: SWITCH
Evalúa una expresión y la compara con una lista de valores, devolviendo un resultado correspondiente.
Concepto Clave
SWITCH es una alternativa más limpia y eficiente a los IF anidados (un IF dentro de otro). Cuando necesitas comprobar múltiples condiciones sobre la misma expresión, SWITCH simplifica tu código y lo hace más legible. Es ideal para categorizaciones más complejas.
Sintaxis
SWITCH(<expresión>, <valor1>, <resultado1>, [<valor2>, <resultado2>]..., <resultado_alternativo>)
Ejemplo Interactivo
Vamos a crear una columna calculada para asignar un "Nivel de Prioridad" a cada producto. Usaremos SWITCH para asignar la prioridad basándonos en el nombre del producto.
Tabla de Datos 'Ventas' con Columna Calculada
Fórmula DAX (para la nueva columna)
Prioridad Producto = SWITCH(Ventas[Producto],
"Laptop", "Alta",
"Monitor", "Media",
"Teclado", "Baja",
"Sin Prioridad"
)
Ejercicios Prácticos
Ejercicio 1: Calcular el Costo Total
Usando la tabla 'Ventas' (que tiene columnas 'Cantidad' y 'Costo Unitario'), escribe una medida DAX para calcular el costo total de todos los productos vendidos.
Solución:
Costo Total = SUMX(Ventas, Ventas[Cantidad] * Ventas[Costo Unitario])
Explicación: Usamos SUMX para iterar sobre la tabla 'Ventas', multiplicando la cantidad por el costo unitario en cada fila, y luego sumando todos los resultados para obtener el costo total.
Ejercicio 2: Categoría de Ventas
Crea una columna calculada llamada 'Tipo de Venta'. Si una venta tiene más de 5 unidades ('Cantidad'), debe ser "Mayorista". De lo contrario, debe ser "Minorista".
Solución:
Tipo de Venta = IF(Ventas[Cantidad] > 5, "Mayorista", "Minorista")
Explicación: La función IF evalúa la condición de la cantidad para cada fila. Si es verdadera, devuelve "Mayorista"; si es falsa, devuelve "Minorista".
Ejercicio 3: Calcular el Margen de Ganancia Total
Calcula el margen de ganancia total. El margen para cada fila es `(Precio Unitario - Costo Unitario) * Cantidad`.
Solución:
Margen Total = SUMX(Ventas, (Ventas[Precio Unitario] - Ventas[Costo Unitario]) * Ventas[Cantidad])
Explicación: De nuevo, SUMX es la herramienta perfecta. Itera y calcula la ganancia de cada fila con la expresión proporcionada, y luego suma todos esos valores individuales.