🟢 Introducción
Cuando diseñas un modelo de datos en Dataverse, es común necesitar columnas que calculen automáticamente valores a partir de otros campos, o que sumen información de registros relacionados.
Para ello, Dataverse ofrece dos potentes tipos de columnas:
- Columnas calculadas (Calculated Columns)
- Columnas de agregación (Rollup Columns)
Ambas permiten aplicar lógica sin usar Power Automate ni código, lo que las hace esenciales para un diseño eficiente y declarativo del modelo. ⚙️
🧠 Qué es / para qué sirve
🔹 Columna Calculada (Calculated Column)
Permite realizar operaciones o condiciones lógicas con los valores de una o más columnas dentro del mismo registro.
Ejemplo típico:
Calcular el precio total multiplicando “Cantidad” × “PrecioUnitario”.
🔹 Columna de Agregación (Rollup Column)
Permite sumar, contar, promediar o buscar valores en registros relacionados (de una relación 1:N o N:1).
Ejemplo típico:
Calcular el total de pedidos de un cliente o el número de casos asociados a una cuenta.
💡 Ambas se calculan automáticamente por Dataverse:
- Las calculadas se actualizan inmediatamente al cambiar datos.
- Las de agregación se recalculan de forma programada o al guardar registros relacionados.
🧩 Sintaxis / Configuración
Estas columnas no se definen con código, sino con el editor visual de Dataverse:
🧮 Crear una Columna Calculada
1️⃣ En Power Apps → Tablas → Selecciona una tabla → Agregar columna.
2️⃣ En Tipo de datos, elige el tipo (por ejemplo, “Moneda”, “Número”, “Texto”, etc.).
3️⃣ Marca la opción “Columna calculada”.
4️⃣ Define la fórmula visualmente (por ejemplo):
Total = Cantidad * PrecioUnitario
5️⃣ Guarda y publica los cambios.
📊 Crear una Columna de Agregación (Rollup Column)
1️⃣ En la misma tabla, selecciona Agregar columna.
2️⃣ Elige el tipo de datos apropiado (por ejemplo, “Decimal”, “Entero”, “Moneda”).
3️⃣ Marca “Columna de agregación”.
4️⃣ Define:
- Fuente de datos (tabla relacionada).
- Relación a recorrer (por ejemplo, “Pedidos → Cliente”).
- Función de agregación:
SUM,COUNT,AVG,MIN,MAX.
5️⃣ Guarda y publica.
🧠 Ejemplo:
TotalPedidos = SUM(Pedidos.Monto)
💻 Ejemplos prácticos
1️⃣ Calcular el total de un pedido:
Total = Cantidad * PrecioUnitario
2️⃣ Determinar si el cliente es “Premium”:
If(TotalPedidos > 10000, "Premium", "Estándar")
3️⃣ Contar los casos activos por cuenta (Rollup):
COUNT(Casos WHERE Estado = "Activo")
4️⃣ Calcular la fecha del último pedido (Rollup):
MAX(Pedidos.FechaPedido)
🧱 Buenas prácticas
✅ Usa nombres descriptivos (TotalPedidos, NivelCliente, CasosActivos).
✅ Evita fórmulas excesivamente complejas — pueden afectar el rendimiento.
✅ Limita las dependencias circulares (una columna calculada no puede depender de sí misma).
✅ Las Rollup Columns se actualizan en intervalos (~1 hora por defecto), no en tiempo real.
✅ Usa columnas calculadas para lógica dentro del mismo registro y rollup para datos agregados.
✅ Documenta la lógica de cada columna (útil para mantenimiento).
⚠️ Errores comunes
🚫 Intentar referenciar tablas no relacionadas directamente.
🚫 Esperar que las columnas Rollup se actualicen instantáneamente (tienen retardo).
🚫 Mezclar tipos de datos incompatibles (por ejemplo, texto con número).
🚫 Omitir publicar los cambios después de crear la columna.
🚫 Olvidar que las fórmulas de Dataverse son declarativas, no imperativas (no se ejecutan por orden).
🔄 Variantes o alternativas
- Power Automate → para cálculos o agregaciones más complejas o en tiempo real.
- Business Rules → para establecer valores condicionales al editar registros.
- Power BI → si la agregación o cálculo depende del contexto visual del reporte.
- Plugin personalizado (C#) → para cálculos complejos a nivel de servidor.
📚 Recursos oficiales
📘 Crear columnas calculadas en Dataverse
📗 Crear columnas de agregación (Rollup Columns)
🧩 Mini práctica
Objetivo: Crear una columna que calcule el valor total de pedidos y una columna que sume todos los montos asociados a un cliente.
1️⃣ En la tabla Pedidos, crea una columna calculada llamada TotalPedido:
- Fórmula:
Cantidad * PrecioUnitario.
2️⃣ En la tabla Clientes, crea una columna Rollup llamadaTotalPedidos: - Relación:
Pedidos (N) → Cliente (1). - Función:
SUM(Pedidos.TotalPedido).
3️⃣ Publica los cambios y observa cómo Dataverse actualiza automáticamente el total de pedidos por cliente.
4️⃣ Conecta Power BI o Power Apps para mostrar esta información en tiempo real. 📊
✨ Conclusión:
Las Columnas Calculadas y Rollup Columns son esenciales para construir modelos de datos inteligentes en Dataverse.
Reducen la necesidad de flujos o código, garantizan consistencia y hacen que tu aplicación sea más eficiente y escalable. ⚡


Deja un comentario