Utilizați expresii în condiții pentru a verifica mai multe valori

În acest tutorial, veți învăța să utilizați expresii și condiții pentru a compara mai multe valori în modul avansat.

Când creați un flux în cloud, puteți utiliza cardul Condiție în modul de bază pentru a compara rapid o singură valoare cu o altă valoare. Cu toate acestea, există momente când trebuie să comparați mai multe valori. De exemplu, este posibil să doriți să verificați valoarea câtorva coloane dintr-o foaie de calcul sau un tabel de bază de date.

Puteți utiliza orice combinație a următoarelor expresii logice în condițiile dvs.

Expression Descriere Exemplu
și Ia două argumente și returnează adevărat dacă ambele valori sunt adevărate.
Notă: ambele argumente trebuie să fie booleene.
Această expresie returnează false:
and(greater(1,10),equals(0,0))
sau Preia două argumente și returnează adevărat dacă oricare dintre argumente este adevărat.
Notă: ambele argumente trebuie să fie booleene.
Această expresie returnează adevărat:
or(greater(1,10),equals(0,0))
este egal cu Returnează adevărat dacă două valori sunt egale. De exemplu, dacă parametrul1 este someValue, această expresie returnează adevărat:
equals(parameters('parameter1'), 'someValue')
Mai puțin Preia două argumente și returnează adevărat dacă primul argument este mai mic decât al doilea.
Notă: tipurile acceptate sunt întregi, flotanți și șir.
Această expresie returnează adevărat:
less(10,100)
lessOrEquals Preia două argumente și returnează adevărat dacă primul argument este mai mic sau egal cu al doilea.
Notă: tipurile acceptate sunt întregi, flotanți și șir.
Această expresie returnează adevărat:
lessOrEquals(10,10)
mai mare Preia două argumente și returnează adevărat dacă primul argument este mai mare decât al doilea.
Notă: tipurile acceptate sunt întregi, flotanți și șir.
Această expresie returnează false:
greater(10,10)
Mai mareSau egal Preia două argumente și returnează adevărat dacă primul argument este mai mare sau egal cu al doilea.
Notă: tipurile acceptate sunt întregi, flotanți și șir.
Această expresie returnează false:
greaterOrEquals(10,100)
gol Returnează adevărat dacă obiectul, matricea sau șirul este gol. Această expresie returnează adevărat:
empty('')
Not Returnează opusul unei valori booleene. Această expresie returnează adevărat:
not(contains('200 Success','Fail'))
if Returnează o anumită valoare dacă expresia are ca rezultat adevărat sau fals. Această expresie returnează „da”:
if(equals(1, 1), 'yes', 'no')

Cerințe preliminare

Iată de ce aveți nevoie pentru a finaliza această explicație.

  • Acces la Power Automate.
  • Propria ta foaie de calcul cu tabelele descrise mai târziu în această explicație. Asigurați-vă că salvați foaia de calcul într-o locație precum Dropbox sau Microsoft OneDrive , astfel încât Power Automate să o poată accesa.
  • Microsoft 365 Outlook (În timp ce folosim Outlook aici, puteți utiliza orice serviciu de e-mail acceptat în fluxurile dvs.)

Folosiți expresia „sau”.

Uneori, fluxul de lucru trebuie să ia o acțiune dacă valoarea unui articol este valueA sau valueB. De exemplu, este posibil să urmăriți starea sarcinilor într-un tabel de foaie de calcul. Să presupunem că tabelul are o coloană numită Stare și valorile posibile din această coloană sunt:

  • efectuat
  • blocat
  • inutil
  • nu a început

Iată un exemplu despre cum ar putea arăta foaia de calcul:

Captură de ecran a unui exemplu de foaie de calcul cu o coloană Stare.

Având în vedere foaia de calcul precedentă, doriți să utilizați Power Automate pentru a elimina toate rândurile cu o coloană Stare setat la finalizat sau inutil.

Să creăm fluxul.

Începeți cu un flux gol

  1. conectați-vă la Power Automate.

  2. În panoul din stânga, selectați Fluxurile mele.

  3. Selectați Flux nou>Flux de cloud programat.

Adăugați un declanșator fluxului dvs

  1. Dați un nume fluxului dvs.

  2. Setați programul pentru a rula fluxul o dată pe zi.

  3. Selectați butonul Creați pentru a trece la pasul următor.

Notă

Power Automate folosește fie designerul de fluxuri cloud clasic, fie designerul de fluxuri cloud cu Copilot. Pentru a identifica designerul pe care îl utilizați, accesați Notă secțiunea din Înțelegeți designerul de fluxuri cloud cu capabilități de copilot.

Selectați foaia de calcul și obțineți toate rândurile

  1. Selectați Pas nou.

  2. Căutați rânduri, apoi selectați Excel Online (Afaceri).

    Selectați acțiunea obțineți un rând care corespunde foii de calcul pe care o utilizați. De exemplu, dacă utilizați Foi de calcul Google, selectați Foi de calcul Google - Obțineți rânduri.

  3. Selectați Rândurile Listă prezente într-un tabel acțiune.

    Captură de ecran cu listarea rândurilor dintr-un tabel.

  4. Selectați Locație, Biblioteca de documente, Fișier și Tabel care conține datele dvs.

    Captură de ecran a câmpurilor Locație, Biblioteca de documente, Fișier și Tabel din rândurile Listă prezente într-un card de tabel.

Verificați coloana de stare a fiecărui rând

  1. Selectați Pas nou.

  2. Căutați aplicați pentru fiecare, apoi selectați Aplicați pentru fiecare - Control.

  3. Adăugați simbolul valoare la caseta Selectați o ieșire din pașii anteriori .

    Acest simbol valoare reprezintă tabelul foii de calcul și toate datele acestuia.

  4. Selectați Adăugați o acțiune pe Aplicați pentru fiecare card.

  5. Căutați condiție, apoi selectați controlul Condiție .

  6. Adăugați următoarea sau expresie. Această expresie sau verifică valoarea fiecărui rând din tabel. Dacă valoarea coloanei Stare este terminatăSauinutil, expresia sau se evaluează ca „adevărat”.

    Iată un exemplu de card Condiție .

    Captură de ecran a unei expresii „sau”.

Ștergeți rândurile care se potrivesc din foaia de calcul

  1. Selectați Adăugați o acțiune pe Dacă da ramura afecțiunii.

    Ramura Dacă da se rulează dacă condiția OR se evaluează ca adevărat.

  2. Căutați Ștergeți un rând, selectați Excel Online (Afaceri), apoi selectați Ștergeți un rând.

  3. Pe cardul Ștergeți un rând , setați Locația, Biblioteca de documente, Fișier și Tabel casete exact așa cum setați aceste casete pe Enumerați rândurile prezente într-un tabel card mai devreme în acest tutorial.

  4. În lista drop-down Coloana cheie , selectați _PowerAppsId_.

  5. În câmpul Valoare cheie , inserați _PowerAppsId_ valoarea dinamică.

  6. Salvați fluxul dvs.

Rulați fluxul cu expresia „sau”.

Fluxul rulează după ce îl salvați. Dacă ați creat foaia de calcul prezentată mai devreme în acest tutorial, iată cum arată după finalizarea executării.

Captură de ecran a foii de calcul când se finalizează expresia „SAU”.

Observați toate datele din rândurile care au fost finalizate sau inutil în Stare coloana au fost șterse.

Folosiți expresia „și”.

Să presupunem că aveți un tabel de foaie de calcul cu două coloane. Numele coloanelor sunt Stare și Atribuit. Să presupunem, de asemenea, că doriți să ștergeți toate rândurile dacă valoarea coloanei Stare este blocata și Valoarea coloanei alocată este John Wonder. Pentru a îndeplini această sarcină, urmați toți pașii de mai devreme din acest tutorial, dar când editați cardul Condiție în modul avansat, utilizați și expresie prezentată aici.

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

Iată un exemplu de card Condiție .

Captură de ecran a expresiei „și”.

Rulați fluxul cu expresia „și”.

Dacă ați urmat pașii din acest tutorial, foaia de calcul ar trebui să arate similar cu următoarea captură de ecran.

Captură de ecran a foii de calcul înainte de rularea fluxului.

După rularea fluxului, foaia de calcul ar trebui să arate similar cu următoarea captură de ecran.

Captură de ecran a foii de calcul după rularea fluxului.

Folosiți expresia „goală”.

Observați că acum există mai multe rânduri goale în foaia de calcul. Pentru a le elimina, utilizați expresia vide pentru a identifica toate rândurile care nu au text în Atribuite și Coloane de stare .

Pentru a îndeplini această sarcină, urmați toți pașii enumerați în secțiunea Utilizați expresia „și” de mai devreme în acest tutorial. Când editați cardul Condiție în modul avansat, utilizați următoarea expresie vide.

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

Cardul dvs. de Condiție ar trebui să arate similar cu următoarea captură de ecran.

Captură de ecran a expresiei „vide”.

După rularea fluxului, foaia de calcul ar trebui să arate similar cu următoarea captură de ecran.

SCaptură de ecran a foii de calcul după rulările „gol”.

Observați că sunt eliminate linii suplimentare din tabel.

Folosiți expresia „mai mare”.

Imaginează-ți că ai cumpărat bilete de baseball pentru colegii tăi și că folosești o foaie de calcul pentru a te asigura că ești rambursat de fiecare persoană. Puteți crea rapid un flux în cloud care trimite un e-mail zilnic fiecărei persoane care nu a plătit întreaga sumă.

Utilizați expresia mai mare pentru a identifica angajații care nu au plătit întreaga sumă. Apoi, puteți trimite automat un e-mail de memento celor care nu au plătit integral.

Iată o vedere a foii de calcul.

Captură de ecran a foii de calcul a celor care nu au plătit integral.

Iată implementarea expresiei mai mari care identifică toate persoanele care au plătit mai puțin decât suma datorată de la acestea.

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

Folosiți expresia „mai puțin”.

Imaginează-ți că ai cumpărat bilete de baseball pentru colegii tăi și că folosești o foaie de calcul pentru a te asigura că ești rambursat de fiecare persoană până la data la care toți au fost de acord. Puteți crea un flux în cloud care trimite un e-mail de memento fiecărei persoane care nu a plătit întreaga sumă dacă data curentă este cu mai puțin de o zi înainte de data scadentă.

Utilizați expresia și cu expresia less , deoarece sunt două condiții în curs de validare.

Condiție de validare Expresie de folosit Exemplu
A fost plătită întreaga sumă datorată? mai mare @greater(item()?['Due'], item()?['Paid'])
Data scadenței este la mai puțin de o zi? mai puține @less(item()?['DueDate'], addDays(utcNow(),1))

Combinați expresiile „mai mare” și „mai puțin” într-o expresie „și”.

Utilizați expresia mai mare pentru a identifica angajații care au plătit mai puțin decât suma totală datorată și utilizați expresia mai puțin pentru a determina dacă data scadentă a plății este la mai puțin de o zi de la data curentă. Puteți utiliza apoi acțiunea Trimiteți un e-mail pentru a trimite e-mailuri de memento acelor angajați care nu au plătit integral, iar data scadenței este la mai puțin de o zi.

Iată o vedere a tabelului foii de calcul.

Captură de ecran a tabelului foii de calcul.

Iată implementarea expresiei și care identifică toți angajații care au plătit mai puțin decât suma datorată de la aceștia, iar data scadenței este la mai puțin de o zi distanță de la data curentă.

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

Utilizați funcții în expresii

Unele expresii își obțin valorile din acțiunile de rulare care ar putea să nu existe încă atunci când începe să ruleze un flux cloud. Pentru a face referire sau a lucra cu aceste valori în expresii, puteți utiliza funcțiile pe care le oferă limbajul definiție flux de lucru. Mai multe informatii. Pentru a afla mai multe, accesați Ghidul de referință pentru funcțiile de expresie a fluxului de lucru din Azure Logic Apps și Power Automate.