Kontrola viacerých hodnôt pomocou výrazov v podmienkach
V tomto návode sa naučíte používať výrazy a podmienky na porovnanie viacerých hodnôt v Rozšírenom režime.
Keď vytvoríte postup v cloude, môžete použiť Podmienku karta v základnom režime na rýchle porovnanie jednej hodnoty s inou hodnotou. V niektorých prípadoch však potrebujete porovnať viacero hodnôt. Môžete napríklad chcieť skontrolovať hodnotu niekoľkých stĺpcov v tabuľkovom hárku alebo databázovej tabuľke.
V podmienkach môžete použiť ľubovoľnú kombináciu týchto logických výrazov.
Expression | Popis | Príklad |
---|---|---|
a | Má dva argumenty a vráti hodnotu true, ak pre obe hodnoty platí hodnota true. Poznámka: Oba argumenty musia byť boolovské. |
Tento výraz vráti hodnotu false:and(greater(1,10),equals(0,0)) |
alebo | Má dva argumenty a vráti hodnotu true, ak pre jednu z hodnôt platí hodnota true. Poznámka: Oba argumenty musia byť boolovské. |
Tento výraz vráti hodnotu true:or(greater(1,10),equals(0,0)) |
equals | Vráti hodnotu true, ak sa dve hodnoty rovnajú. | Ak má napríklad parameter1 hodnotu nejaká_hodnota, tento výraz vráti hodnotu true:equals(parameters('parameter1'), 'someValue') |
menej | Má dva argumenty a vráti hodnotu true, ak je prvý argument menší ako druhý argument. Poznámka: Podporované typy sú integer, float a string. |
Tento výraz vráti hodnotu true:less(10,100) |
lessOrEquals | Má dva argumenty a vráti hodnotu true, ak je prvý argument menší alebo rovnaký ako druhý argument. Poznámka: Podporované typy sú integer, float a string. |
Tento výraz vráti hodnotu true:lessOrEquals(10,10) |
väčší | Má dva argumenty a vráti hodnotu true, ak je prvý argument väčší ako druhý argument. Poznámka: Podporované typy sú integer, float a string. |
Tento výraz vráti hodnotu false:greater(10,10) |
greaterOrEquals | Má dva argumenty a vráti hodnotu true, ak je prvý argument väčší alebo rovnaký ako druhý argument. Poznámka: Podporované typy sú integer, float a string. |
Tento výraz vráti hodnotu false:greaterOrEquals(10,100) |
prázdny | Vráti hodnotu true, ak je objekt, pole alebo reťazec prázdny. | Tento výraz vráti hodnotu true:empty('') |
not | Vráti opak booleovskej hodnoty. | Tento výraz vráti hodnotu true:not(contains('200 Success','Fail')) |
if | Vráti určitú hodnotu, ak je výsledkom výrazu hodnota true alebo false. | Tento výraz vráti hodnotu „áno“:if(equals(1, 1), 'yes', 'no') |
Požiadavky
V tejto časti je uvedené, čo budete potrebovať na dokončenie tohto návodu.
- Prístup k Power Automate.
- Váš vlastný tabuľkový hárok s tabuľkami opísanými ďalej v tomto návode. Uistite sa, že tabuľkový hárok uložíte do umiestnenia, ako je napríklad Dropbox alebo Microsoft OneDrive, aby k nemu mala prístup služba Power Automate.
- Microsoft 365 Outlook (Aj keď tu používame Outlook, vo svojich tokoch môžete použiť akúkoľvek podporovanú e-mailovú službu.)
Použite výraz „alebo“.
Ak je hodnota položky hodnota A alebo hodnotaB, niekedy musí váš pracovný postup vykonať akciu. Môžete napríklad sledovať stav úloh v tabuľke v tabuľkovom hárku. Predpokladajme, že tabuľka má stĺpec s názvom Stav a možné hodnoty v tomto stĺpci sú:
- dokončené
- zablokované
- zbytočné
- nezačal
V tomto príklade vidíte, ako by tabuľkový hárok mohol vyzerať:
Vzhľadom na predchádzajúcu tabuľku chcete použiť Power Automate na odstránenie všetkých riadkov so stĺpcom Stav , ktorý je nastavený na dokončené alebo nepotrebné.
Vytvorme takýto postup.
Začnite s prázdnym postupom
Prihláste sa do Power Automate.
Na ľavej table vyberte Moje toky.
Vyberte Nový postup>Naplánované postup v cloude.
Pridajte spúšťač do postupu
Zadajte názov postupu.
Nastavte plán, aby sa postup spúšťal raz za deň.
Ak chcete prejsť na ďalší krok, vyberte tlačidlo Vytvoriť .
Poznámka
Power Automate používa buď klasického návrhára cloudových tokov, alebo návrhára cloudových tokov s kopilot. Ak chcete zistiť, ktorého návrhára používate, prejdite do časti Poznámka v Pochopte návrhára cloudových tokov pomocou funkcií kopilot.
Vyberte tabuľkový hárok a načítajte všetky riadky
Vyberte položku Nový krok.
Vyhľadajte riadky a potom vyberte Excel Online (Business).
Vyberte akciu získať riadok , ktorá zodpovedá tabuľke, ktorú používate. Ak napríklad používate Tabuľky Google, vyberte možnosť Tabuľky Google – Získať riadky.
Vyberte Zoznam riadkov prítomných v akcii tabuľky .
Vyberte Umiestnenie, Knižnica dokumentov, Súbor a Tabuľka , ktoré obsahujú vaše údaje.
Skontrolujte stav stĺpca v každom riadku
Vyberte položku Nový krok.
Vyhľadajte použiť pre každú a potom vyberte možnosť Použiť pre každú – ovládanie.
Pridajte hodnotu hodnotu do poľa Vyberte výstup z predchádzajúcich krokov .
Tento hodnota token predstavuje tabuľku tabuľky a všetky jej údaje.
Vyberte Pridať akciu na stránke Použiť na každé karta.
Vyhľadajte stav a potom vyberte ovládací prvok Podmienka .
Pridajte nasledujúci výraz Alebo . Tento výraz Alebo kontroluje hodnotu každého riadku v tabuľke. Ak je hodnota v stĺpci Stav vyplnenáAlebonepotrebná, výraz Alebo sa vyhodnotí ako „pravda“.
Tu je príklad Podmienky karta.
Odstráňte zodpovedajúce riadky z tabuľkového hárka
Vyberte Pridať akciu na vetve podmienky Ak áno .
Vetva Ak áno sa spustí, ak sa podmienka ALEBO vyhodnotí ako pravda.
Vyhľadajte Odstrániť riadok, vyberte Excel Online (Business) a potom vyberte Odstrániť riadok.
V časti Odstrániť riadok karta nastavte Umiestnenie, Knižnicu dokumentov, Súbor a Tabuľka presne tak, ako nastavíte tieto polia na Zobrazenie riadkov v tabuľke karta vyššie v tomto návode.
V rozbaľovacom zozname Kľúčový stĺpec vyberte _PowerAppsId_.
Do poľa Hodnota kľúča vložte dynamickú hodnotu _PowerAppsId_ .
Uložte svoj postup.
Spustite tok s výrazom „alebo“.
Po uložení sa postup spustí. Ak ste vytvorili tabuľku zobrazenú skôr v tomto návode, tu je návod, ako vyzerá po dokončení behu.
Všimnite si všetky údaje z riadkov, ktoré boli vyplnené alebo nepotrebné v Stav stĺpec boli odstránené.
Použite výraz „a“.
Predpokladajme, že máte v tabuľkovom hárku tabuľku s dvoma stĺpcami. Názvy stĺpcov sú Stav a Priradené. Predpokladajme tiež, že chcete odstrániť všetky riadky, ak je hodnota stĺpca Stav blokovaná a Priradená hodnota stĺpca je John Wonder. Ak chcete vykonať túto úlohu, vykonajte všetky kroky uvedené vyššie v tomto návode, ale keď upravíte Podmienku karta v rozšírenom režime, použite a výraz zobrazený tu.
@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))
Tu je príklad Podmienky karta.
Spustite tok pomocou výrazu „a“.
Ak ste postupovali podľa krokov v tomto návode, vaša tabuľka by mala vyzerať podobne ako nasledujúca snímka obrazovky.
Po spustení postupu by vaša tabuľka mala vyzerať podobne ako nasledujúca snímka obrazovky.
Použite výraz „prázdny“.
Všimnite si, že v tabuľkovom hárku sa teraz nachádza viacero prázdnych riadkov. Ak ich chcete odstrániť, použite prázdny výraz na identifikáciu všetkých riadkov, ktoré nemajú text v Priradené a Stav stĺpce.
Ak chcete vykonať túto úlohu, vykonajte všetky kroky uvedené v časti Použite výraz „a“ vyššie v tomto návode. Keď upravujete Podmienku karta v rozšírenom režime, použite nasledujúci prázdny výraz.
@and(empty(item()?['Status']), empty(item()?['Assigned']))
Váš Stav karta by mal vyzerať podobne ako na nasledujúcej snímke obrazovky.
Po spustení postupu by tabuľka mala vyzerať podobne ako nasledujúca snímka obrazovky.
Z tabuľky sa odstránia prázdne riadky.
Použite výraz „väčší“.
Predstavte si, že ste kúpili lístky na športový zápas pre svojich spolupracovníkov a pomocou tabuľkového hárka sa chcete uistiť, že vám za ne všetci zaplatili. Môžete rýchlo vytvoriť postup v cloude, ktorý každý deň odošle e-mail každej osobe, ktorá ešte neuhradila celú sumu.
Na identifikáciu zamestnancov, ktorí nezaplatili celú sumu, použite väčší výraz. Tým, ktorí nezaplatili celú sumu, potom môžete automaticky poslať e-mail s pripomenutím.
Tu je pohľad na tabuľku.
Tu je implementácia väčšieho výrazu, ktorý identifikuje všetky osoby, ktoré od nich zaplatili menej, ako je dlžná suma.
@greater(item()?['Due'], item()?['Paid'])
Použite výraz „menej“.
Predstavte si, že ste kúpili lístky na športový zápas pre svojich spolupracovníkov a pomocou tabuľkového hárka sa chcete uistiť, že vám za ne všetci zaplatili do dátumu, ktorý ste si s nimi dohodli. Môžete vytvoriť postup v cloude, ktorý každý deň odošle e-mail s pripomenutím každej osobe, ktorá neuhradila celú sumu, ak je aktuálny dátum menej ako jeden deň pred dátumom splatnosti.
Použite a výraz s menej výrazom, pretože sa overujú dve podmienky.
Podmienka na overenie | Výraz na použitie | Príklad |
---|---|---|
Bola uhradená celá suma? | greater | @greater(item()?['Due'], item()?['Paid']) |
Nastane dátum splatnosti za menej ako jeden deň? | less | @less(item()?['DueDate'], addDays(utcNow(),1)) |
Skombinujte výrazy „väčšie“ a „menej“ vo výraze „a“.
Použite väčší výraz na identifikáciu zamestnancov, ktorí zaplatili menej ako celú splatnú sumu, a použite menej výraz určiť, či je dátum splatnosti platby menej ako jeden deň od aktuálneho dátumu. Potom môžete použiť akciu Poslať e-mail na odoslanie e-mailov s pripomienkou tým zamestnancom, ktorí nezaplatili celú sumu a dátum splatnosti je menej ako jeden deň.
Tu je pohľad na tabuľku tabuľky.
Tu je implementácia výrazu a , ktorý identifikuje všetkých zamestnancov, ktorí od nich zaplatili menej, ako je splatná suma, a dátum splatnosti je menej ako jeden deň od aktuálneho dátumu.
@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))
Používanie funkcií vo výrazoch
Niektoré výrazy načítavajú svoje hodnoty z akcií runtime, ktoré v čase spustenia postupu v cloude ešte nemusia existovať. Ak chcete odkazovať na tieto hodnoty alebo s nimi pracovať vo výrazoch, môžete použiť funkcie, ktoré poskytuje jazyk definície pracovného postupu. Viac informácií. Ak sa chcete dozvedieť viac, prejdite na Referenčnú príručku k funkciám vyjadrenia pracovného toku v Azure Logic Apps a Power Automate.