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

    Ir a la vista de "Modelo" o "Datos". Seleccionar la tabla deseada. En la pestaña "Herramientas de tabla", o clic con el botón derecho sobre la tabla → Nueva columna. Escribir la fórmula DAX en la barra de fórmulas. Presionar "Enter". Power BI calcula automáticamente todos los valores.

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.