A veces, trabajando en Power Automate, nos topamos con una situación donde queremos extraer el primer elemento de una colección sin tener que caer en el iterador "Apply to each".
Spoiler alert: ¡Se puede hacer más fácil y elegante! 😎
Si tenés la certeza de que tu query siempre va a devolver al menos un resultado (ya sea porque lo limitás en la consulta o porque simplemente querés tomar el primer elemento, sin importar cuál sea), podés simplificar el proceso usando una expresión. De esta forma, evitás usar un "Apply to each" y resolvés todo en un solo paso.
Te muestro un ejemplo comparando ambos enfoques: el clásico usando "Apply to each" y el otro, que para mí es mas directo, sin el iterador.
Como ves en este caso, no tiene mucho sentido utilizar el iterador cuando sabemos que siempre vamos a estar manipulando un elemento.
- Utilizando expresión para obtener el primer elemento:
Para agregar una expresión, recorda hacer foco donde queres mapear el resultado, luego la ventana de "Agregar contenido dinámico" va a aparecer y tenes que ir a la solapa de "Expresión"
Luego, tu flujo va a quedar así:
La sintáxis genérica es la siguiente:
first(outputs('Step_Name_Get_List_Rows')?['body/value'])?['attribute_name']
¿Cómo sería la expresión para el ejemplo de obtener el title del caso?
La expresión final queda asi:
first(outputs('List_Rows')?['body/value'])?['title']
Seguro esta expresión es mejorable. Se puede agregar un if validando si el Outputs('List_Rows')?['blody/value'] no sea nulo, etc. Pero en esencia, el objetivo de este tip era mostrar una posibilidad de obtener el primer elemento sin depender del "Apply to Each"
Comentarios
Publicar un comentario