Matemáticas
add()
La función add realiza la suma aritmética de dos números. Es la operación más básica de la plataforma y es fundamental para cálculos de totales, contadores o incrementos de valores dentro de un flujo.
Parámetros requeridos
Esta función requiere exactamente dos parámetros:
- sumando_1 (Número): El primer valor numérico (puede ser un número entero o decimal).
- sumando_2 (Número): El segundo valor numérico que se sumará al primero.
Nota técnica: Si intentas sumar un número con un texto (aunque el texto parezca un número, ej: «10»), la función dará error. En ese caso, deberías usar primero la función int() o float() para convertir el texto.
Ejemplos prácticos
Ejemplo 1: Suma de valores estáticos Ideal para cuando quieres añadir un valor fijo a una operación.
- Expresión: add(25, 75)
- Resultado: 100
Ejemplo 2: Incremento de una variable (Contador) Muy común dentro de bucles «Do Until» o para llevar el conteo de elementos procesados.
- Expresión: add(variables(‘vContador’), 1)
- Escenario: Si tu variable vContador actualmente vale 10, el resultado de esta expresión será 11.
Ejemplo 3: Suma de decimales (Precios)
- Expresión: add(15.50, 4.25)
- Resultado: 19.75
sub()
La función sub (de subtract) realiza una resta aritmética. Resta el segundo número del primero. Es esencial para calcular diferencias entre valores, aplicar descuentos o reducir el valor de una variable en procesos de control.
Parámetros requeridos
Requiere exactamente dos parámetros:
- minuendo (Número): El valor inicial al que se le va a quitar una cantidad.
- sustraendo (Número): La cantidad que se va a restar del primer valor.
¡Ojo aquí!: Al igual que con la suma, el orden de los factores sí altera el producto. sub(10, 2) devuelve
8, mientras que sub(2, 10) devuelve -8.
Ejemplos prácticos
Ejemplo 1: Resta de valores estáticos Cálculo directo entre dos números.
- Expresión: sub(100, 30)
- Resultado:
70
Ejemplo 2: Aplicación de un descuento variable Imagina que tienes el precio total y un cupón de descuento almacenado en una variable.
- Expresión: sub(outputs(‘Precio_Total’), variables(‘vDescuento’))
- Escenario: Si el total es 500 y el descuento es 50, el resultado será 450.
Ejemplo 3: Decremento de un contador (Cuenta atrás) Útil en bucles donde necesitas ir restando unidades hasta llegar a cero.
- Expresión: sub(variables(‘vIntentosRestantes’), 1)
- Escenario: Si te quedan
3intentos, tras esta expresión te quedarán2.
mul()
La función mul realiza una multiplicación aritmética. Toma dos valores numéricos y devuelve su producto. Es la herramienta principal cuando necesitamos calcular totales (Cantidad × Precio), aplicar factores de conversión o calcular porcentajes de manera manual.
Parámetros requeridos
Esta función requiere exactamente dos parámetros:
- multiplicando_1 (Número): El primer factor de la multiplicación.
- multiplicando_2 (Número): El segundo factor por el cual se multiplicará el primero.
Nota técnica: Al igual que las anteriores, solo acepta números. Si manejas divisas que vienen como texto (ej: «$10.00»), recuerda limpiar el símbolo y convertir a float() antes de usar mul.
Ejemplos prácticos
Ejemplo 1: Multiplicación de valores estáticos Una operación directa y sencilla.
- Expresión: mul(5, 10)
- Resultado: 50
Ejemplo 2: Cálculo de Subtotal (Cantidad × Precio) Muy útil al procesar órdenes de compra o facturas.
- Expresión: mul(outputs(‘Cantidad_Articulos’), outputs(‘Precio_Unitario’))
- Escenario: Si se compraron
3artículos a un precio de 15.00, el resultado será 45.00.
Ejemplo 3: Cálculo de Impuesto (IVA/Tax) Imagina que quieres calcular el 16% de IVA de un monto.
- Expresión: mul(variables(‘vMontoTotal’), 0.16)
- Escenario: Si el monto es 1000, el resultado será 160.
div()
La función div realiza una división aritmética. Divide el primer número (dividendo) por el segundo número (divisor). Es fundamental para repartir cargas de trabajo, calcular promedios o determinar cuántas «páginas» de datos necesitas procesar.
Parámetros requeridos
Requiere exactamente dos parámetros:
- dividendo (Número): La cantidad total que se quiere dividir.
- divisor (Número): La cantidad por la cual se divide.
⚠️ ¡Alerta de error!: Si el segundo parámetro (el divisor) es 0, el flujo fallará inmediatamente con un error de ejecución (Division by zero). Siempre es buena práctica validar que el divisor sea mayor a cero antes de usar esta función.
💡 Tip
Para evitar que tu flujo se detenga si el divisor es cero puedes usar una función if de protección:
if(equals(variables(‘vDivisor’), 0), 0, div(variables(‘vTotal’), variables(‘vDivisor’)))
Ejemplos prácticos
Ejemplo 1: División de valores estáticos Una operación directa.
- Expresión: div(100, 4)
- Resultado:
25
Ejemplo 2: Cálculo de promedios Imagina que tienes la suma total de calificaciones y el número de alumnos.
- Expresión: div(variables(‘vSumaCalificaciones’), variables(‘vTotalAlumnos’))
- Escenario: Si la suma es 90 y los alumnos son 10, el resultado será
9.
Ejemplo 3: División de enteros (Comportamiento WDL) Es importante saber que si usas números enteros, el resultado será un entero (truncado).
- Expresión: div(10, 3)
- Resultado:
3
(Nota: Para obtener decimales como 3.33, al menos uno de los números debe ser tipo float, ej: div(10.0, 3)).
mod()
La función mod devuelve el residuo (lo que sobra) de una división entre dos números enteros. Por ejemplo, si divides 10 entre 3, el resultado es 3 y te sobra 1. Ese «1» es lo que nos entrega esta función. Es extremadamente útil para determinar si un número es divisible por otro o para crear patrones cíclicos.
Parámetros requeridos
Requiere exactamente dos parámetros:
- dividendo (Número entero): El número que quieres dividir.
- divisor (Número entero): El número por el cual divides.
⚠️ Restricción técnica: A diferencia de
div, la funciónmodestá diseñada para trabajar principalmente con números enteros. Al igual que en la división, el divisor no puede ser 0.
Ejemplos prácticos
Ejemplo 1: Cálculo del residuo básico
- Expresión: mod(10, 3)
- Resultado:
1(Porque 3 cabe tres veces en 10 y sobra 1).
Ejemplo 2: Identificar números Pares o Impares Este es el uso más común. Si divides un número entre 2 y el residuo es 0, el número es par.
- Expresión: mod(variables(‘vNumero’), 2)
- Escenario: Si el número es
8, el resultado es0(Par). Si el número es7, el resultado es1(Impar).
min()
La función min analiza una serie de números o un arreglo (array) y devuelve el valor más pequeño de todo el conjunto. Es la herramienta ideal para encontrar el costo más bajo, la puntuación mínima o para asegurar que un valor no supere un límite establecido (eligiendo el menor entre el valor actual y el tope).
Parámetros requeridos
Esta función es bastante flexible:
- Lista de valores: Puedes pasarle dos o más números separados por comas.
min(valor1, valor2, ...). - Un Arreglo (Array): Puedes pasarle una única variable que sea una lista de números
[10, 20, 30].
Nota técnica: Todos los valores comparados deben ser del mismo tipo numérico (enteros o flotantes). Si incluyes un texto o un valor nulo, el flujo arrojará un error de ejecución.
Ejemplos prácticos
Ejemplo 1: Comparación simple de valores
- Expresión: min(150, 200, 85, 300)
- Resultado:
85
Ejemplo 2: Obtener el precio mínimo de un Array Supongamos que tienes una variable llamada vListaPrecios que contiene [45.50, 10.00, 25.99].
- Expresión: min(variables(‘vListaPrecios’))
- Resultado: 10.00
Ejemplo 3: Limitar un resultado (Tope) Imagina que quieres cobrar una comisión, pero el máximo que puedes cobrar son $50.
- Expresión: min(variables(‘vComisionCalculada’), 50)
- Escenario: Si la comisión calculada es 75, la función devolverá 50 (el menor de los dos). Si la comisión es 20, devolverá 20.
max()
La función max analiza una serie de números o un arreglo (array) y devuelve el valor más grande de todo el conjunto. Es la herramienta perfecta para encontrar el presupuesto más alto, la calificación máxima o para implementar un «piso» en tus cálculos (eligiendo el mayor entre el valor calculado y el mínimo permitido).
Parámetros requeridos
Al igual que min, es polimórfica:
- Lista de valores: Puedes pasarle varios números separados por comas. max(valor1, valor2, …).
- Un Arreglo (Array): Puedes pasarle una variable que contenga una lista numérica, por ejemplo: [5, 100, 50].
Nota técnica: No puedes mezclar tipos de datos incompatibles. Si intentas comparar un número con un objeto o un texto, la expresión fallará. Asegúrate de que todos los valores sean numéricos.
Ejemplos prácticos
Ejemplo 1: Comparación de valores estáticos
- Expresión: max(10, 50, 99, 2)
- Resultado: 99
Ejemplo 2: Encontrar el valor más alto en una lista dinámica Supongamos que extraes los montos de una serie de facturas y los guardas en un Array llamado vListaMontos.
- Expresión: max(variables(‘vListaMontos’))
- Escenario: Si la lista tiene [150.00, 1200.50, 800.00], el resultado será 1200.50.
Ejemplo 3: Establecer un valor mínimo (Piso) Imagina que un vendedor gana una comisión por venta, pero por contrato, lo mínimo que puede ganar siempre son $100, incluso si su venta fue pequeña.
- Expresión: max(variables(‘vComisionCalculada’), 100)
- Escenario: Si la comisión calculada es 45, la función devolverá 100 (el mayor de los dos). Si la comisión es 250, devolverá 250.
rand()
La función rand genera un número entero aleatorio dentro de un rango específico que tú defines. Es la herramienta ideal para crear números de ticket, generar PINs de verificación de forma rápida o para seleccionar un ganador al azar de una lista numerada.
Parámetros requeridos
Requiere exactamente dos parámetros (ambos números enteros):
- minValue (Número entero): El valor mínimo posible que puede generar (incluido).
- maxValue (Número entero): El límite superior del rango.
Nota técnica importante: En Power Automate, el resultado será un número entre el minValue y el maxValue. Es importante que el valor mínimo sea siempre menor al máximo, de lo contrario, el flujo arrojará un error.
Ejemplos prácticos
Ejemplo 1: Generar un número de la suerte (Dados) Si quieres simular el lanzamiento de un dado de seis caras.
- Expresión: rand(1, 7)
- Resultado: Un número aleatorio entre 1 y 6.
Ejemplo 2: Generación de un PIN de 4 dígitos Útil para flujos de validación de identidad o acceso temporal.
- Expresión: rand(1000, 10000)
- Resultado: Un número aleatorio como 4829, 1024 o 9999.
Ejemplo 3: Asignación aleatoria de tareas Imagina que tienes 3 agentes de soporte numerados del 1 al 3 y quieres que el flujo asigne un ticket al azar.
- Expresión: rand(1, 4)
- Escenario: El flujo elegirá al agente 1, 2 o 3 con la misma probabilidad.
abs()
La función abs devuelve el valor absoluto de un número. En términos simples: elimina el signo negativo si el número lo tiene, convirtiéndolo en positivo. Si el número ya es positivo o es cero, lo deja igual. Es la herramienta perfecta para calcular la «distancia» entre dos valores sin importar cuál es mayor que el otro.
Parámetros requeridos
Requiere exactamente un parámetro:
- value (Número): Puede ser un número entero (int) o un número decimal (float).
Nota técnica: Esta función es vital para evitar errores en lógicas que no aceptan números negativos (como duraciones de tiempo o cantidades de inventario físico).
Ejemplos prácticos
Ejemplo 1: Conversión de negativos
- Expresión: abs(-150.50)
- Resultado: 150.50
Ejemplo 2: Calcular la diferencia de días (sin importar el orden) Imagina que restas dos fechas y el resultado te da -5, pero tú solo quieres saber que hay 5 días de diferencia para una notificación.
- Expresión: abs(variables(‘vDiasDiferencia’))
- Escenario: Si la diferencia calculada fue -5, el resultado será 5.
Ejemplo 3: Análisis de variaciones de presupuesto Quieres saber cuánto se desvió un gasto real del presupuesto, sin importar si gastaste de más o de menos (solo quieres la magnitud del error).
- Expresión: abs(sub(outputs(‘Gasto_Real’), outputs(‘Presupuesto’)))
- Escenario: Si gastaste 120 de un presupuesto de 100, la resta da 20, abs devuelve 20. Si gastaste 80, la resta da -20, abs también devuelve 20.
power()
La función power eleva un número (la base) a la potencia de otro número (el exponente). Por ejemplo, si quieres calcular «2 al cubo» (2^3), esta es la función que debes usar. Es la base para calcular intereses compuestos, áreas de superficies circulares o progresiones geométricas.
Parámetros requeridos
Requiere exactamente dos parámetros:
- number (Número): La base que quieres elevar.
- power (Número): El exponente al que quieres elevar la base.
Nota técnica: Ambos parámetros pueden ser enteros o decimales. Sin embargo, elevar un número negativo a una potencia fraccionaria puede dar resultados inesperados o errores, así que asegúrate de validar tus datos de entrada.
Ejemplos prácticos
Ejemplo 1: Potencia simple (Cuadrado y Cubo)
- Expresión: power(5, 2) → (5^2)
- Resultado: 25
- Expresión: power(2, 3) → (2^3)
- Resultado:
8
Ejemplo 2: Cálculo de área (Círculo)
Si tienes el radio de un círculo y quieres calcular r^2 para la fórmula del área (\pi \cdot r^2).
- Expresión: mul(3.1416, power(variables(‘vRadio’), 2))
- Escenario: Si el radio es 10, el resultado será 314.16.
Ejemplo 3: Interés compuesto (Fórmula financiera)
Para calcular el crecimiento de una inversión: Capital \cdot (1 + tasa)^{tiempo}.
- Expresión: mul(variables(‘vCapital’), power(add(1, variables(‘vTasa’)), variables(‘vAnios’)))
- Escenario: Si inviertes 1000 al 5% (0.05) por 2 años, la función power calculará $(1.05)^2$ para darte el total.
exp()
La función exp eleva la constante matemática e (el número de Euler, aproximadamente 2.71828) a la potencia del número que tú le indiques. Es decir, calcula e^x. Esta función es vital para modelos de crecimiento exponencial, cálculos de interés continuo o procesos de decaimiento en análisis de datos.
Parámetros requeridos
Requiere exactamente un parámetro:
- number (Número): El exponente al que se elevará la constante e. Puede ser un número entero o decimal.
Nota técnica: Esta función es extremadamente potente y los resultados crecen muy rápido. Si usas un número muy grande como parámetro, podrías exceder el límite numérico permitido por la plataforma.
Ejemplos prácticos
Ejemplo 1: Obtener la constante de Euler
Si solo quieres saber el valor de e.
- Expresión: exp(1)
- Resultado: 2.718281828…
Ejemplo 2: Cálculo de Crecimiento Continuo
Imagina que quieres calcular el crecimiento de una población o una inversión bajo una tasa de interés compuesta continuamente.
- Expresión: mul(variables(‘vCapital’), exp(mul(variables(‘vTasa’), variables(‘vTiempo’))))
- Escenario: Si tienes un capital de 1000, una tasa del 5% (0.05) y un tiempo de 10 años, la función calculará el crecimiento exponencial exacto.
Ejemplo 3: Uso en modelos estadísticos
Para normalizar datos o trabajar con distribuciones de probabilidad dentro de un flujo de análisis.
- Expresión: exp(-1)
- Resultado: 0.367879… (Útil para modelos de decaimiento).

Deja un comentario