FUNCIONES MATEMÁTICAS Y DE REDONDEO DE POWER BI
Las funciones matemáticas y de redondeo de Power BI, principalmente en DAX, permiten realizar cálculos precisos, limpiar datos y controlar cómo se muestran los números en los reportes. Aunque son similares a las de Excel, tienen algunas diferencias importantes en el comportamiento, especialmente con números negativos.Funciones de redondeo (las más importantes)
| Función | Qué hace | Sintaxis | Ejemplo | Resultado |
|---|---|---|---|---|
| ROUND | Redondeo matemático normal (0.5 hacia arriba) | "ROUND(número, dígitos)" | "ROUND(2.15, 1)" | 2.2 |
| ROUNDUP | Siempre redondea hacia arriba (lejos de cero) | "ROUNDUP(número, dígitos)" | "ROUNDUP(2.11, 1)" | 2.2 |
| ROUNDDOWN | Siempre redondea hacia abajo (hacia cero) | "ROUNDDOWN(número, dígitos)" | "ROUNDDOWN(2.19, 1)" | 2.1 |
| TRUNC | Elimina los decimales (trunca) | "TRUNC(número [, dígitos])" | "TRUNC(2.99)" | 2 |
| INT | Redondea hacia el entero inferior | "INT(número)" | "INT(2.99) / INT(-2.1)" | 2 / -3 |
| CEILING | Redondea hacia arriba al múltiplo más cercano | "CEILING(número, múltiplo)" | "CEILING(4.42, 0.05)" | 4.45 |
| FLOOR | Redondea hacia abajo (hacia cero) al múltiplo más cercano | "FLOOR(número, múltiplo)" | "FLOOR(4.42, 0.05)" | 4.40 |
| MROUND | Redondea al múltiplo más cercano | "MROUND(número, múltiplo)" | "MROUND(17, 5)" | 15 |
| ISO.CEILING | Similar a CEILING, pero con comportamiento ISO en números negativos | "ISO.CEILING(número, múltiplo)" | "-" | - |
Consejos de uso
- Usar "ROUND" para la mayoría de los casos (precios, porcentajes, etc.).
- Usar "ROUNDUP" cuando no quieras perder valor (ej. facturación, stock).
- Usar "CEILING" y "FLOOR" cuando necesites redondear a múltiplos específicos (ej. a 0.05, a 10, a 100).
Ejemplos prácticos en medidas
// Redondear ventas a 2 decimales
Ventas Redondeadas = ROUND([Total Ventas], 2)
// Precio siempre hacia arriba (para no perder margen)
Precio Final = ROUNDUP([Precio Base] * 1.16, 2)
// Redondear a múltiplos de 5
Cantidad Empaque = CEILING([Cantidad], 5)
// División segura de margen
% Margen = DIVIDE([Beneficio], [Ventas], 0)
// Valor absoluto de la variación
Variación Absoluta = ABS([Ventas Actuales] - [Ventas Anteriores])