COLUMNAS CALCULADAS EN POWER BI: GUÍA COMPLETA PARA MODELAR DATOS DE FORMA EFICIENTE
Una columna calculada es una columna que se añade a una tabla existente y cuyo valor se calcula mediante una expresión DAX. A diferencia de las columnas que vienen del origen de datos, estas se evalúan fila por fila y el resultado se almacena físicamente en el modelo de datos, en memoria comprimida.Se calculan en el momento del refresco de datos, o cuando se modifica la fórmula, y permanecen estáticas hasta el próximo refresco. Esto las diferencia radicalmente de las medidas.
Cómo crear una columna calculada
Sintaxis básica
Nombre Columna =
Ejemplos prácticos útiles
Concatenar nombre completo
Nombre Completo =
TRIM(
SELECTEDVALUE(Clientes[Nombre]) & " " &
SELECTEDVALUE(Clientes[Apellido])
)
Clasificación de clientes por ventas
Segmento Cliente =
VAR VentasCliente = RELATED(Facturas[Total Ventas])
RETURN
SWITCH(
TRUE(),
VentasCliente >= 100000, "Premium",
VentasCliente >= 50000, "Gold",
VentasCliente >= 10000, "Silver",
"Bronze"
)
Extraer Año-Mes para ordenamiento correcto
AñoMes Orden =
YEAR('Calendario'[Fecha]) * 100 + MONTH('Calendario'[Fecha])
Margen de contribución por línea
Margen % =
DIVIDE(
'Ventas'[Importe] - 'Ventas'[Costo],
'Ventas'[Importe]
)
Bandera de pedidos retrasados
Pedido Retrasado =
IF(
'Pedidos'[Fecha Entrega Real] > 'Pedidos'[Fecha Entrega Comprometida],
"Sí",
"No"
)
Mejores prácticas
- Minimiza el uso de columnas calculadas: Cada columna calculada aumenta el tamaño del modelo y el tiempo de refresco.
- Usar Power Query cuando sea posible: Si el cálculo no depende de otras tablas del modelo, realízalo en Power Query. Es más eficiente y se procesa en el motor de datos.
- Evitar funciones iteradoras pesadas como "SUMX", "FILTER", "ADDCOLUMNS" dentro de columnas calculadas sobre tablas grandes pueden degradar drásticamente el rendimiento del refresco.
- Usar variables "VAR", hacen el código más legible y, en muchos casos, más eficiente.
- Usar nombres intuitivos para saber que datos tiene la columna, usar prefijos o convenciones como "Calc_Segmento", "Flag_Retrasado", "AñoMes", etc.
- Documentar, añadir comentarios en la fórmula o usa la descripción de la columna.
- Probar el impacto, después de crear varias columnas calculadas, revisar el tamaño del archivo ".pbix" y el tiempo de refresco.
Errores comunes a debes evitar
- Crear columnas calculadas para totales o agregaciones (eso es trabajo de medidas).
- Usar "RELATED" en exceso sin tener bien definidas las relaciones.
- Olvidar el manejo de valores en blanco o errores, como "IFERROR", "COALESCE", "DIVIDE".
- Crear columnas calculadas que se podrían haber resuelto con una columna calculada en la tabla de calendario, (mejor práctica de modelado.