Tipos de funciones

Completado

Las funciones se agrupan en 10 categorías diferentes, como matemáticas y lógica. Las categorías están organizadas para facilitar la búsqueda de una función en particular. A continuación, podrá ver una descripción general de cada categoría y algunos ejemplos.

Tenga en cuenta que, durante la revisión de los distintos ejemplos, usamos texto y valores estáticos. Lo hacemos para permitirle probar y reproducir los ejemplos con la mayor facilidad posible. En sus flujos, puede sustituir estos datos estáticos por contenido dinámico. Tan solo asegúrese de que sus datos dinámicos tengan el formato correcto para la función.

En la captura de pantalla siguiente podrá observar, a la derecha del encabezado de cada categoría (como Funciones de cadena o Colección) las palabras Ver más. Al seleccionar Ver más, se mostrará la lista completa de funciones de esa categoría.

Captura de pantalla de la pestaña Expresión con la opción Ver más para obtener una lista completa de funciones

Seleccione Ver más junto a Funciones de cadena.

Captura de pantalla de Ver más funciones de cadena con reemplazar (text, oldText, newText) seleccionadas

Funciones de cadena

Las funciones de cadena (texto) se utilizan para modificar cadenas, encontrar caracteres en una cadena, formatear cadenas y más. La manipulación de texto es una habilidad básica que se usa a menudo cuando se intenta formatear o modificar mejor los datos recibidos desde otro lugar.

Un ejemplo de función de cadena es formatNumber. Esta función puede convertir un número en una cadena con un formato determinado. Una solicitud habitual es hacer que un número parezca una divisa. Para cambiar el número 12,5 por 12,50 $, utilice la fórmula siguiente:

formatNumber(12.5,'C')

La C representa la cadena de formato numérico Divisa. No se preocupe, existe una lista de las otras opciones disponibles en Cadenas de formato numérico estándar. ¿A lo mejor se pregunta qué pasaría si quisiera mostrar el número como divisa pero con el símbolo del yen? Existe un parámetro opcional donde puede pasar la configuración regional.

formatNumber(12.5,'C','ja-JP')

Esta fórmula devolverá 13 ¥.

Funciones de colección

Estas funciones se utilizan para matrices y cadenas. Pueden usarse para comprobar si una matriz está vacía, para tomar el primer elemento o el último, o incluso para operaciones de combinación, unión e intersección.

Un ejemplo de función de colección útil es length. Puede utilizar length para devolver el número de elementos en una cadena o una matriz. El siguiente ejemplo se usaría para contar el número de caracteres de la cadena "I love Power Automate".

length('I love Power Automate.')

El resultado sería 22. Observe que los espacios cuentan como caracteres. Puede utilizar este tipo de función para la validación o junto con las funciones de cadena para manipular cadenas.

Funciones lógicas

Estas funciones se utilizan para trabajar con condiciones, comparar valores y realizar otras evaluaciones basadas en la lógica. A menudo se las considera como instrucciones If en las que se desea comparar si un número es mayor que otro. Power Automate admite todas las comparaciones lógicas que cabría esperar.

En el siguiente ejemplo, una expresión comparará si 12 es mayor que 10 y luego generará la cadena apropiada. Esta también será su primera expresión que utilice más de una función. Combinaremos las funciones lógicas if y greater.

If(greater(12,10),'Yes','No')

El resultado de esta expresión sería la cadena . Para entender la expresión, trabaje de dentro hacia fuera. Greater(12,10) devuelve true o false dependiendo de si 12 es mayor que 10. Dado que sí lo es, el valor que se devuelve es true.

Ahora que sabe que la respuesta es true, puede ver como la función If devuelve los datos después de la primera coma. En este caso, es la cadena . Si hubiera sido false, se habría devuelto la cadena No.

Importante

Si bien puede escribir expresiones lógicas como se muestra anteriormente, también hay una acción llamada Condición que permite escribir instrucciones If sin una expresión. Inserte un nuevo paso en su flujo y busque un conector llamado Condición.

Captura de pantalla de Elegir una acción con el control Condición seleccionado.

Esta es la misma condición escrita usando la acción.

Captura de pantalla de una condición escrita usando la acción.

Con el tiempo, descubrirá que utiliza una combinación de ambos métodos según sus necesidades.

Funciones de conversión

Estas funciones se utilizan para cambiar el tipo de datos. Puede tratarse de algo sencillo, como convertir un número de texto en un entero, o funciones más complejas, como cambiar la codificación de un archivo de base64 a binaria. Saber que estas funciones están disponibles le ayudará a superar los problemas que tenga que resolver para modelar sus datos correctamente.

Un escenario habitual es la necesidad de utilizar int o float para cambiar un número de texto por un número real. Esto es común al importar datos al flujo desde un origen de datos. El número 12, o 12,4, se puede almacenar como texto. Para utilizar ese número en una función lógica o escribirlo en una ubicación que espere un número, deberá convertirlo. En el siguiente ejemplo, la cadena "12" se cambia por el entero 12.

Int('12')

Eso generará el entero 12. Si hubiera sido la cadena "12,4", habría tenido que convertirla en float debido a los dígitos decimales. En ese caso se utilizaría

Float('12.4')

Ahora puede usar el número de texto para llevar a cabo el ejemplo anterior.

If(greater(Int('12'), Float('12.4')),'Yes','No')

Esto generaría la cadena "No", porque 12 no es mayor que 12,4. La combinación de funciones como esta es habitual y es un patrón útil de aprender.

Funciones matemáticas

Las funciones matemáticas hacen exactamente lo que cabría esperar. Permiten sumar, restar, multiplicar y realizar otras funciones similares. Además, las funciones matemáticas permiten encontrar los números menores y mayores de un conjunto de datos, u obtener un número aleatorio comprendido en un intervalo especificado, entre otras cosas. Para obtener un número aleatorio del 1 al 10, use lo siguiente:

rand(1,10)

Algo a tener en cuenta es que existe una función diferente para sumar números (add) y para restarlos (sub). Muchos lenguajes de fórmulas agregan números negativos para producir restas, pero Power Automate no lo hace. Para sumar dos números, utilice lo siguiente:

Add(12, 13)

El resultado sería 25. Si quisiera sumar tres números, tendría que agregar una segunda función, como esta:

add(add(12,13),15)

El resultado sería 40. Como habrá podido ver anteriormente, a menudo deberá anidar funciones para obtener los resultados deseados.

Funciones de fecha y hora

Estas funciones se utilizan para devolver la fecha y hora actuales, cambiar las zonas horarias, encontrar información específica sobre una fecha y una hora, y realizar otras manipulaciones de fecha u hora. Si tiene valores de fecha y hora en sus datos, necesitará estas funciones.

Al explorar las funciones de fecha y hora en Power Automate, es importante recordar que a menudo se basan en la hora UTC. La mayoría de los orígenes de datos pasan datos de ida y vuelta con Power Automate en formato UTC. Además, si usa la función UTCNow(), devolverá la hora actual en formato UTC. Si desea usar esto para comparar con los datos del usuario que se encuentran actualmente en Horario del este de América del Norte, deberá usar la siguiente fórmula para convertirlo:

convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )

El resultado será 06-07-2021 05:39 p. m. Para obtener una lista completa de las opciones de formato de fecha y hora, consulte Cadenas de formato de fecha y hora personalizadas.

Funciones de referencia

Las funciones de referencia se utilizan para trabajar con los resultados de sus acciones y desencadenadores. Lo mejor es que, la mayoría de las veces, Power Automate escribirá estas funciones por usted. Al agregar contenido dinámico a su flujo, está utilizando funciones de referencia sin saberlo. Si agrega contenido dinámico y luego se desplaza por la parte superior de ese contenido, podrá ver esto en acción.

En la siguiente captura de pantalla, puede verlo agregando el contenido dinámico Nombre de usuario desde el desencadenador hasta Entradas de redacción.

Captura de pantalla de la adición de contenido dinámico Nombre de usuario desde el desencadenador.

Al pasar el cursor sobre Nombre de usuario, podrá ver

triggerOutputs()['headers']['x-ms-user-name-encoded']

Power Automate creó la expresión utilizando triggerOutputs por usted. Está extrayendo la propiedad x-ms-user-name-encoded de la propiedad Encabezados. La mayor parte del tiempo, en Power Automate, hará referencia a estas propiedades mediante contenido dinámico. Pero es posible escribir sus propias expresiones para reproducir esto si es necesario. Cada desencadenador y cada acción tendrán diferentes formatos para la recuperación de datos.

Explore estas funciones agregando varios desencadenadores, acciones, orígenes de datos y bucles de aplicación a cada uno en su flujo. A continuación, utilice sus propiedades como datos dinámicos para ver más ejemplos. La buena noticia es que no es habitual escribir este tipo de expresiones.

Funciones de flujo de trabajo

Las funciones de flujo de trabajo se utilizan para recuperar información sobre su flujo y están estrechamente relacionadas con las funciones de referencia. Una de las funciones se llama flujo de trabajo. Puede usarla como se muestra a continuación.

Workflow().run.id

El resultado será el id. de la ejecución de flujo actual. Puede utilizarlo para informes o registros de errores en caso necesario. Estas funciones no se suelen utilizar.

Funciones de análisis de URI

Estas funciones se utilizan para diseccionar un URI que se pasa como una cadena. Puede utilizar estas funciones para encontrar el host, la ruta, la cadena de consulta u otras partes del URI. El siguiente ejemplo muestra cómo usar uriQuery para obtener la parte de la cadena de consulta del URI dado.

uriQuery('https://flow.microsoft.com/fakeurl?Test=Yes')

El resultado sería la cadena "?Test = Yes" que luego podría analizar con funciones de cadena para obtener el valor pasado desde el URI.

Funciones de manipulación

Las funciones de manipulación se utilizan para trabajar con objetos específicos en su flujo. Puede hacer cosas como buscar el primer valor que no esté en blanco, trabajar con propiedades o buscar coincidencias de xpath. Estas funciones se suelen utilizar en evaluaciones de nodos JSON o XML.

Una función que puede resultarle útil aquí es fusionar. Esta función le permitirá encontrar el primer valor no nulo de un conjunto específico de valores. Utilice la función como se muestra en la siguiente fórmula:

Coalesce(null, 'Power Automate', 'Power Apps')

Esta fórmula devolvería la cadena Power Automate. Es útil cuando se pasan varios valores y se desea encontrar el primero que no sea NULL.