Utilitzar expressions en condicions per comprovar diversos valors

En aquest tutorial, aprendràs a utilitzar expressions i condicions per comparar diversos valors en mode avançat.

Quan creeu un flux de núvol, podeu utilitzar la targeta Condició en mode bàsic per comparar ràpidament un sol valor amb un altre valor. Tanmateix, hi ha vegades que heu de comparar diversos valors. Per exemple, és possible que vulgueu comprovar el valor d'unes quantes columnes d'una taula de full de càlcul o d'una base de dades.

Podeu utilitzar qualsevol combinació de les expressions lògiques següents a les vostres condicions.

Expression Descripció Exemple
i Pren dos arguments i retorna true si els dos valors són certs.
Nota: Tots dos arguments han de ser booleans.
Aquesta expressió retorna falsa:
and(greater(1,10),equals(0,0))
o Pren dos arguments i retorna vertader si qualsevol dels dos arguments és cert.
Nota: Tots dos arguments han de ser booleans.
Aquesta expressió retorna la certesa:
or(greater(1,10),equals(0,0))
és igual a Retorna true si dos valors són iguals. Per exemple, si parameter1 és someValue, aquesta expressió retorna true:
equals(parameters('parameter1'), 'someValue')
menys Pren dos arguments i retorna vertader si el primer argument és menor que el segon.
Nota: Els tipus admesos són enter, flotador i cadena.
Aquesta expressió retorna la certesa:
less(10,100)
lessOrEquals Pren dos arguments i retorna vertader si el primer argument és menor o igual que el segon.
Nota: Els tipus admesos són enter, flotador i cadena.
Aquesta expressió retorna la certesa:
lessOrEquals(10,10)
Major Pren dos arguments i retorna vertader si el primer argument és més gran que el segon.
Nota: Els tipus admesos són enter, flotador i cadena.
Aquesta expressió retorna falsa:
greater(10,10)
greaterOrEquals Pren dos arguments i retorna vertader si el primer argument és més gran o igual que el segon.
Nota: Els tipus admesos són enter, flotador i cadena.
Aquesta expressió retorna falsa:
greaterOrEquals(10,100)
buit Retorna true si l'objecte, matriu o cadena està buit. Aquesta expressió retorna la certesa:
empty('')
no Retorna el contrari d'un valor booleà. Aquesta expressió retorna la certesa:
not(contains('200 Success','Fail'))
si Retorna un valor específic si l'expressió resulta vertader o fals. Aquesta expressió retorna "sí":
if(equals(1, 1), 'yes', 'no')

Requisits previs

Això és el que necessitareu per completar aquest tutorial.

  • Accés a Power Automate.
  • El vostre propi full de càlcul amb les taules que es descriuen més endavant en aquest tutorial. Assegura't de desar el full de càlcul en una ubicació com Dropbox o Microsoft OneDrive perquè Power Automate hi puguis accedir.
  • Microsoft 365 Outlook (Tot i que utilitzem Outlook aquí, podeu utilitzar qualsevol servei de correu electrònic compatible als vostres fluxos.)

Utilitzeu l'expressió "o"

De vegades, el flux de treball ha de fer una acció si el valor d'un element és valorA o valorB. Per exemple, és possible que estigueu fent un seguiment de l'estat de les tasques d'una taula de full de càlcul. Suposem que la taula té una columna anomenada Estat i els valors possibles d'aquesta columna són:

  • Completat
  • Bloquejat
  • innecessari
  • no iniciat

Aquí teniu un exemple de com podria ser el full de càlcul:

Captura de pantalla d'un full de càlcul d'exemple amb una columna Estat.

Tenint en compte el full de càlcul anterior, voleu utilitzar Power Automate per suprimir totes les files que tinguin una columna Estat definida com a completada o innecessària.

Creem el flux.

Comenceu amb un flux en blanc

  1. Power AutomateInicieu sessió.

  2. A la subfinestra esquerra, seleccioneu Els meus fluxos.

  3. Seleccioneu Nou flux>: Flux de núvol programat.

Afegir un activador al flux

  1. Doneu un nom al vostre flux.

  2. Establiu la planificació per executar el flux un cop al dia.

  3. Seleccioneu el botó Crea per anar al pas següent.

Nota

Power Automate utilitza el dissenyador de fluxos de núvol clàssic o el dissenyador de fluxos al núvol amb Copilot. Per identificar quin dissenyador utilitzeu, aneu a la secció Nota a Entendre el dissenyador de fluxos al núvol amb capacitats de copilot.

Selecciona el full de càlcul i obtén totes les files

  1. Seleccioneu Pas nou.

  2. Cerqueu files i, a continuació, seleccioneu Excel Online (Business).

    Selecciona l'acció Obtén una fila que correspongui al full de càlcul que fas servir. Per exemple, si utilitzeu Fulls de càlcul de Google, seleccioneu Fulls de càlcul de Google - Obtén files.

  3. Seleccioneu les files de llista presents en una acció de taula .

    Captura de pantalla de les files de la llista en una taula.

  4. Seleccioneu la ubicació, la biblioteca de documents, el fitxer ila taulaque contenen les vostres dades.

    Captura de pantalla dels camps Ubicació, Biblioteca de documents, Fitxer i Taula a les files Llista presents en una targeta de taula.

Comprovar la columna d'estat de cada fila

  1. Seleccioneu Pas nou.

  2. Cerqueu aplica a cadascun i, a continuació, seleccioneu Aplicaa cadascun - Control.

  3. Afegiu el testimoni de valor al quadre Seleccioneu una sortida dels passos anteriors.

    Aquest testimoni de valor representa la taula del full de càlcul i totes les seves dades.

  4. Seleccioneu Afegeix una acció a l'opcióAplica a cada targeta.

  5. Cerqueu la condició i, a continuació, seleccioneu el control Condició .

  6. Afegiu l'expressió Or següent . Aquesta expressió Or comprova el valor de cada fila de la taula. Si el valor de la columna Estat s'ha completat Oinnecessari, l'expressió Ors'avalua a "true".

    Aquí teniu un exemple de targeta de condició .

    Captura de pantalla d'una expressió

Eliminar files coincidents del full de càlcul

  1. Seleccioneu Afegeix una acció a la branca En cas afirmatiu de la condició.

    La branca Si sí s'executa si la condició OR avalua a true.

  2. Cerqueu Suprimeix una fila, seleccioneu Excel Online (Empresa) i, a continuació, seleccioneu Suprimeix una fila .

  3. A la targeta Suprimeix una fila , definiu els quadres Ubicació, Biblioteca de documents, Fitxer i Taula exactament tal com configureu aquests quadres a les files Llista presents en una targeta de taula anteriorment en aquest tutorial.

  4. A la llista desplegable Columna clau, seleccioneu _PowerAppsId_.

  5. Al camp Valor clau, inseriu el valor _PowerAppsId_ dynamic.

  6. Deseu el flux.

Executeu el flux amb l'expressió "o"

El flux s'executa després de desar-lo. Si heu creat el full de càlcul que es mostra anteriorment en aquest tutorial, aquí teniu l'aspecte que té un cop finalitzada l'execució.

Captura de pantalla del full de càlcul quan finalitzi l'expressió

Observeu que s'han suprimit totes les dades de files que s'havien completat o que no eren necessàries a la columna Estat .

Utilitzeu l'expressió "i"

Suposem que teniu una taula de full de càlcul amb dues columnes. Els noms de les columnes són Estat i Assignat. Suposem també que voleu suprimir totes les files si el valor de la columna Estat està bloquejat i el valor de la columna assignada és John Wonder . Per dur a terme aquesta tasca, seguiu tots els passos anteriors en aquest tutorial, però quan editeu la targeta Condició en mode avançat, utilitzeu l'expressió i que es mostra aquí.

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Aquí teniu un exemple de targeta de condició .

Captura de pantalla de l'expressió 'i'.

Executeu el flux amb l'expressió "i"

Si has seguit els passos d'aquest tutorial, el full de càlcul hauria de tenir un aspecte similar a la següent captura de pantalla.

Captura de pantalla del full de càlcul abans que s'executi el flux.

Quan el flux s'executi, el full de càlcul hauria de tenir un aspecte similar a la captura de pantalla següent.

Captura de pantalla del full de càlcul després que s'executi el flux.

Utilitza l'expressió "buit"

Fixeu-vos que ara hi ha diverses files buides al full de càlcul. Per eliminar-les, utilitzeu l'expressió buida per identificar totes les files que no tenen text a les columnes Assignat i Estat.

Per dur a terme aquesta tasca, seguiu tots els passos que s'enumeren a la secció Utilitza l'expressió "i" anterior en aquest tutorial. Quan editeu la targeta Condició en mode avançat, utilitzeu l'expressió buida següent .

@and(empty(item()?['Status']), empty(item()?['Assigned']))

La vostra targeta de condició hauria de ser similar a la següent captura de pantalla.

Captura de pantalla de l'expressió 'buida'.

Després que el flux s'executi, el full de càlcul hauria de tenir un aspecte similar a la captura de pantalla següent.

Captura del full de càlcul després d'execucions

Observeu que s'eliminen línies addicionals de la taula.

Utilitzeu l'expressió "major"

Imagina't que has comprat entrades de beisbol per als teus companys de feina i que fas servir un full de càlcul per assegurar-te que cada persona et reemborsa. Podeu crear ràpidament un flux de núvol que enviï un correu electrònic diari a cada persona que no hagi pagat l'import total.

Utilitza l'expressió més gran per identificar els empleats que no han pagat l'import total. A continuació, podeu enviar automàticament un correu electrònic de recordatori als usuaris que no hagin pagat íntegrament.

Aquí teniu una visualització del full de càlcul.

Captura de pantalla del full de càlcul dels que no han pagat íntegrament.

Aquí teniu la implementació de l'expressió més gran que identifica totes les persones que han pagat menys de la quantitat deguda d'elles.

@greater(item()?['Due'], item()?['Paid'])

Utilitza l'expressió "menys"

Imagineu-vos que heu comprat entrades de beisbol per als vostres companys de feina i que utilitzeu un full de càlcul per assegurar-vos que cada persona us reemborsarà la data en què tothom va estar d'acord. Podeu crear un flux de núvol que enviï un correu electrònic de recordatori a cada persona que no hagi pagat l'import total si la data actual és inferior a un dia abans de la data de venciment.

Utilitzeu l'expressió i amb menys expressió, ja que s'estan validant dues condicions.

Condició a validar Expressió a utilitzar Exemple
S'ha pagat la totalitat de l'import degut? major @greater(item()?['Due'], item()?['Paid'])
Falta menys d'un dia per al venciment? menys @less(item()?['DueDate'], addDays(utcNow(),1))

Combina les expressions "major" i "menys" en una expressió "i"

Utilitzeu l'expressió més gran per identificar els empleats que han pagat menys de la quantitat total deguda i utilitzeu la menor expressió per determinar si la data de venciment del pagament està a menys d'un dia de la data actual. A continuació, podeu utilitzar l'acció Envia un correu electrònic per enviar correus electrònics de recordatori a aquells empleats que no hagin pagat íntegrament i la data de venciment sigui inferior a un dia.

Aquí teniu una visualització de la taula del full de càlcul.

Captura de pantalla de la taula del full de càlcul.

Aquí teniu la implementació de l'expressió i que identifica tots els empleats que han pagat menys de la quantitat deguda d'ells i la data de venciment és a menys d'un dia de la data actual.

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

Utilitzar funcions en expressions

Algunes expressions obtenen els seus valors d'accions en temps d'execució que potser encara no existeixen quan un flux de núvol comença a executar-se. Per fer referència o treballar amb aquests valors en expressions, podeu utilitzar funcions que proporciona el llenguatge definició de flux de treball. Més informació. Per obtenir més informació, aneu a Reference guide to workflow expression functions in Azure Logic Apps and Power Automate.