DP-600: crear y gestionar columnas calculadas eficientes
En esta lección práctica del DP-600 te enseñaré a crear y gestionar columnas calculadas (Calculated Columns) en modelos semánticos de Power BI/Fabric. Esta competencia es importante en el examen porque las columnas calculadas afectan al modelado, la coherencia de los datos y el rendimiento; en la práctica permiten resolver necesidades de negocio sin tocar las fuentes.
Lo que necesitas saber
Una columna calculada es una columna añadida a la tabla del modelo que se evalúa row-by-row (por fila) usando DAX. A diferencia de las medidas, las columnas calculadas almacenan valores en el modelo (persistidos) y son útiles para categorización, claves compuestas, flags y transformaciones que se usarán en filtros o relaciones.
Ejemplo simple: añadir una columna YearMonth basada en una columna Date:
YearMonth = FORMAT(Sales[Date], "YYYY-MM")
Importante distinguir columnas calculadas de medidas y de columnas generadas en el origen (Power Query):
- Columnas calculadas (DAX) se evalúan en el motor del modelo y se almacenan, aumentando el tamaño del modelo.
- Medidas (DAX) se calculan dinámicamente según el contexto de filtro y no se almacenan.
- Transformaciones en Power Query se aplican antes de cargar los datos y reducen el coste de almacenamiento y cálculos en el modelo.
Cómo funciona / En la práctica
Pasos para crear y gestionar columnas calculadas de forma eficiente:
- Determina si es realmente necesaria: pregunta si el valor necesita ser persistido para relaciones, índices o filtros a nivel de fila. Si es solo una agregación o depende del contexto, usa una medida.
- Prefiere Power Query cuando sea posible: si la transformación puede hacerse en la extracción/transformación (por ejemplo, parsing, cambio de tipo, uniones estáticas), hazlo en Power Query para reducir el tamaño del modelo.
- Escribe DAX eficiente: usa funciones con contexto de fila ligeras y evita iteradores cuando no son necesarios. Funciones como RELATED, LEFT/RIGHT, FORMAT, YEAR son menos costosas que iteradores como SUMX cuando se usan indebidamente.
- Evita duplicación de datos: no dupliques columnas existentes; en su lugar crea vistas semánticas o relaciones que aprovechen columnas ya presentes.
- Prueba y valida: verifica valores nulos, tipos y rendimiento con muestras grandes antes de aplicar a la tabla completa.
Ejemplo práctico: crear una columna de Segmento de Clientes a partir de un RFM simplificado.
Recency = DATEDIFF(Customer[LastPurchaseDate], TODAY(), DAY)
Frequency = Customer[PurchaseCount]
Monetary = Customer[LifetimeValue]
CustomerSegment =
SWITCH(
TRUE(),
Customer[Recency] <= 30 && Customer[Monetary] > 1000, "Top",
Customer[Recency] <= 90 && Customer[Frequency] > 5, "Active",
"Other"
)
Notas prácticas sobre el ejemplo:
- CALCULA Recency/Monetary/Frequency como columnas calculadas si esos valores no existen en el origen o no pueden calcularse en Power Query.
- El uso de TODAY() hace que la columna dependa del momento del procesamiento — esto significa que necesita recálculo periódico (por ejemplo, programación de actualización).
- Si los valores cambian con frecuencia, considera migrar a medidas o recalcular en el origen para evitar coste de almacenamiento y mantenimiento.
Errores comunes
- Usar columnas calculadas donde debería haber medidas: crear columnas para cálculos que dependen del contexto (p. ej.: porcentajes dinámicos) aumenta el modelo y causa resultados incorrectos.
- Ignorar el impacto en el tamaño del modelo: las columnas calculadas almacenadas pueden inflar el archivo .pbix; usa Power Query cuando sea posible.
- Funciones DAX ineficientes: el uso excesivo de iteradores (SUMX, FILTER) en columnas calculadas para operaciones simples puede degradar el rendimiento y retrasar el procesamiento de actualización.
Cómo practicar
Practica con conjuntos de datos de ejemplo (por ejemplo, Adventure Works o los ejemplos de Power BI) y crea escenarios donde tengas que transformar datos en el modelado. Usa Power BI Desktop o Fabric semantic models para experimentar columnas calculadas y ver el impacto en el tamaño y rendimiento.
Para prepararte para el examen, utiliza el Practice Assessment OFICIAL y gratuito de Microsoft y la Study Guide oficial (ambos gratuitos). Estos recursos te ayudan a verificar las áreas medidas e identificar dónde practicar más; no contienen preguntas reales de examen — sirven para la evaluación de competencias.
En resumen
- Las columnas calculadas se persisten en el modelo y son útiles para categorías, claves y flags por fila.
- Prefiere Power Query para transformaciones siempre que sea posible para reducir tamaño y carga computacional.
- Elige entre columna calculada y medida según la necesidad de persistencia y el contexto de filtro.
- Prueba rendimiento e impacto en el tamaño del modelo; evita iteraciones DAX innecesarias.