¿QUÉ ES DAX?
DAX es un lenguaje de fórmulas diseñado para trabajar con datos dentro de Power BI, Excel (Power
Pivot) y SQL Server Analysis Services (SSAS). Está basado en fórmulas que permiten realizar
cálculos sobre datos tabulares, similar a las fórmulas de Excel, pero con capacidades mucho más
avanzadas para manejar grandes volúmenes de datos y modelos relacionales.
DIFERENCIAS CLAVE DE DAX FRENTE A OTROS LENGUAJES
Lenguaje especializado en análisis de datos: Aunque comparte similitudes con Excel, DAX está
optimizado para trabajar con modelos de datos grandes y complejos.
Basado en funciones: Al igual que Excel, DAX usa funciones predefinidas, pero también
soporta el manejo de relaciones entre tablas y el contexto de filtros, lo que lo hace muy
poderoso.
Orientado a columnas y tablas: DAX está diseñado para manejar datos en formato tabular,
donde puedes realizar cálculos sobre columnas completas y no sobre celdas individuales como
en Excel.
SINTAXIS BÁSICA DE DAX
Referencias a tablas y columnas: En DAX, hace referencia a columnas de una tabla de datos,
por ejemplo, [Sales], donde "Sales" es una columna de la tabla.
Funciones: DAX contiene más de 200 funciones que se dividen en categorías como
matemáticas, estadísticas, de tiempo, entre otras.
Ejemplo básico:
TotalSales = SUM( Sales[Amount] )
Aquí, SUM() es una función DAX que suma todos los valores de la columna `Amount` en la
tabla `Sales`.
COMPONENTES DE DAX
Medidas: Son cálculos que se realizan sobre toda la tabla o el conjunto de datos. Se recalculan
dinámicamente en función de los filtros aplicados.
Ejemplo:
Total Revenue = SUM(Sales[Revenue])
Esta medida calcula los ingresos totales en cualquier contexto de filtro que se aplique en
Power BI.
Columnas calculadas: Estas son columnas adicionales que se agregan a una tabla existente. Se
calculan fila por fila dentro de la tabla.
Ejemplo:
SalesTax = Sales[Amount] * 0.08
Aquí se crea una columna nueva en la tabla `Sales` que multiplica el valor de `Amount` por el
8% (tasa de impuestos).
Tablas calculadas: Aparte de las columnas, DAX puede crear tablas enteras usando funciones.
Ejemplo:
FilteredSales = FILTER(Sales, Sales[Amount] > 1000)
Esta tabla muestra solo las ventas mayores a 1000.
OPERADORES EN DAX
Operadores aritméticos: Como suma (+), resta (-), multiplicación (*), división (/).
Operadores lógicos: Para hacer comparaciones. Ejemplo: AND(), OR(), NOT(), operadores de
igualdad (=, >, <, <=, >=).
HighRevenueSales = IF(Sales[Revenue] > 5000, "High", "Low")
Aquí, se usa el operador lógico IF() para clasificar las ventas según su valor.
CONTEXTO EN DAX
El contexto es uno de los conceptos más importantes en DAX. Hay dos tipos principales:
Contexto de Fila: Se refiere a la fila en la que se está ejecutando la fórmula. Se usa
principalmente en columnas calculadas. Por ejemplo, en una tabla de ventas, si multiplicas
`Cantidad` por `Precio`, esto se hará fila por fila.
Contexto de Filtro: Se refiere a los filtros aplicados al modelo de datos cuando se calcula una
medida o columna calculada. Power BI aplica automáticamente filtros cuando usas relaciones
entre tablas o cuando el usuario interactúa con visualizaciones (ej., seleccionando un mes
específico). Esto afecta cómo se calculan las medidas.
Ejemplo de contexto de filtro con la función `CALCULATE()`:
SalesIn2023 = CALCULATE(SUM(Sales[Amount]), Sales[Year] = 2023)
Aquí, `CALCULATE()` cambia el contexto de filtro para que el cálculo solo considere ventas del
año 2023.
APLICACIONES INICIALES DE DAX
Cálculos básicos de agregación: Usar `SUM()`, `AVERAGE()`, `COUNT()` para obtener los valores
totales, promedios o conteos en tu modelo de datos.
Clasificaciones: Usar `IF()` y `SWITCH()` para crear clasificaciones condicionales dentro de los
datos.
Funciones de tiempo simples: Usar `TODAY()` o `NOW()` para manejar datos temporales.