Power Automate: Cómo crear variables objeto tipo «diccionario»

Considerando esto más como un experimento en base a la idea de crear variables objeto de diccionario en Power Automate nos encontramos con lo siguiente:

«¿Qué pasaría si quisiéramos contar el número de cuentas por dueño en nuestra lista de SharePoint y después guardar esos números en una variable de objeto como la siguiente?»

yo merengues

Definiendo variables de Objeto.

Vamos a iniciar nuestro flujo con los pasos de siempre, un boton de trigger y obteniendo los objetos de la lista.

Ahora, definiremos nuestras variables. Primero agruparemos en el mismo nivel dos variables de objeto con nombre «diccionario» y «propDictionary»

Power Automate variables objeto 4

Agregamos otra variable Integer para contar el número de veces que aparece el item. La llamaremos «counter»

Las funciones para armar el diccionario

Como necesitamos pasar por cada uno de los valores de la lista de SharePoint, usaremos un loop para cargar los valores. Luego, un compose simple para tomar el valor del nombre:

Y si quisiéramos probar si la propiedad ya existe podríamos solo usar la función string() para convertir la variable de objeto a una secuencia JSON para luego usar la condición «contains» de la siguiente manera:

La expresión que entra en juego para lograr crear el diccionario final sera:

setProperty(<object>, <property name>, <value>)

Para el caso del No, usaremos dos pasos:

  1. Función setProperty dentro de un Setvariable como sigue.
setProperty(variables('diccionario'),items('Apply_to_each')?['Title'],'1')

2. Set Variable al contador para dejar su valor en 1

Power Automate variables objeto 2

En el caso que nuestro diccionario ya tenga ese valor, solo incrementaremos su contador un número.

Power Automate variables objeto 1

Y usaremos la siguiente expresión dentro de una acción de Set

setProperty(variables('diccionario'),items('Apply_to_each')?['Title'],string(variables('counter')))

El secreto esta aquí. No podemos usar setProperty para actualizar la misma variable en la cual estamos estableciendo esa propiedad, por lo cual he usado dos variables: la variable «diccionario» y otra más, «propDictionary». Entonces puedo usar setProperty con la variable «diccionario» y asignarle resultados de expresión a «propDictionary». Tras esto puedo usar la variable «propDictionary» para actualizar mi variable «diccionario», lo cual suena un tanto confuso.

Power Automate variables objeto 3

Tomando el valor del diccionario

Esta variable establecerá el valor de la propiedad del objeto.

variables(‘Dictionary’)[‘PROPERTY_NAME’]

Para revisar el valor de nuestra salida, usaremos un compose más de la siguiente forma.

variables('diccionario')?[outputs('Compose')]

El flujo completo de Power Automate queda así, un poco extenso para solo traer variables del tipo objeto como diccionario. Pero puede ser muy útil en algunas ocasiones.

Cualquier duda nos leemos abajo.

Power Automate: Cómo crear variables objeto tipo «diccionario»
Scroll hacia arriba