Използване на изрази в условия за проверка на множество стойности

В този урок ще се научите да използвате изрази и условия , за да сравнявате множество стойности в разширен режим.

Когато създавате поток в облака, можете да използвате картата Условие в основен режим, за да сравните бързо една стойност с друга стойност. Има обаче моменти, когато трябва да сравните няколко стойности. Например може да искате да проверите стойността на няколко колони в електронна таблица или таблица на база данни.

Можете да използвате всяка комбинация от следните логически изрази във вашите условия.

Expression Описание Пример
и Приема два аргумента и връща истина, ако и двете стойности са истина.
Забележка: И двата аргумента трябва да са булеви.
Този израз връща false:
and(greater(1,10),equals(0,0))
или Взема два аргумента и връща истина, ако някой от аргументите е истина.
Забележка: И двата аргумента трябва да са булеви.
Този израз връща истина:
or(greater(1,10),equals(0,0))
е равно на Връща истина, ако две стойности са равни. Например, ако параметър1 е someValue, този израз връща true:
equals(parameters('parameter1'), 'someValue')
по-малко Приема два аргумента и връща истина, ако първият аргумент е по-малък от втория.
Забележка: Поддържаните типове са цяло число, float и string.
Този израз връща истина:
less(10,100)
lessOrEquals Приема два аргумента и връща истина, ако първият аргумент е по-малък или равен на втория аргумент.
Забележка: Поддържаните типове са цяло число, float и string.
Този израз връща истина:
lessOrEquals(10,10)
Голям Взема два аргумента и връща истина, ако първият аргумент е по-голям от втория.
Забележка: Поддържаните типове са цяло число, float и string.
Този израз връща false:
greater(10,10)
по-голямИли равен Приема два аргумента и връща истина, ако първият аргумент е по-голям или равен на втория.
Забележка: Поддържаните типове са цяло число, float и string.
Този израз връща false:
greaterOrEquals(10,100)
празен Връща истина, ако обектът, масивът или низът са празни. Този израз връща истина:
empty('')
не Връща обратното на булева стойност. Този израз връща истина:
not(contains('200 Success','Fail'))
ако Връща конкретна стойност, ако изразът води до истина или неистина. Този израз връща "да":
if(equals(1, 1), 'yes', 'no')

Предварителни изисквания

Ето какво ще ви е необходимо, за да завършите този кратък преглед.

  • Достъп до Power Automate.
  • Вашата собствена електронна таблица с таблиците, описани по-нататък в този кратък преглед. Не забравяйте да запишете електронната си таблица на място като Dropbox или Microsoft OneDrive , така че Power Automate да имате достъп до нея.
  • Microsoft 365 Outlook (Докато използваме Outlook тук, можете да използвате всяка поддържана имейл услуга във вашите потоци.)

Използване на израза "или"

Понякога вашият работен поток трябва да предприеме действие, ако стойността на даден елемент е стойностA или стойностB . Например може да проследявате състоянието на задачите в таблица с електронни таблици. Да предположим, че таблицата има колона с име Състояние и възможните стойности в тази колона са:

  • завършен
  • блокиран
  • ненужен
  • не е стартиран

Ето пример за това как може да изглежда електронната таблица:

Екранна снимка на примерна електронна таблица с колона

Като се има предвид предишната електронна таблица, искате да използвате Power Automate за премахване на всички редове с колона Състояние , която е зададена на завършена или ненужна.

Нека създадем потока.

Започнете с празен поток

  1. влезте в Power Automate.

  2. В левия екран изберете Моите потоци.

  3. Изберете Нов поток Планиран облачен поток>.

Добавяне на спусък към потока

  1. Дайте име на потока си.

  2. Задайте график, за да стартирате потока веднъж дневно.

  3. Изберете бутона Създай , за да преминете към следващата стъпка.

Бележка

Power Automate използва или класическия дизайнер на облачни потоци, или дизайнера на облачните потоци с Copilot. За да определите кой дизайнер използвате, отидете в раздела Забележка в Разбиране на дизайнера на потоци воблака с възможности за копилотиране.

Изберете електронната таблица и получете всички редове

  1. Изберете Нова стъпка.

  2. Потърсете редове и след това изберете Excel Online (Бизнес).

    Изберете действието за получаване на ред, което съответства на електронната таблица, която използвате. Например, ако използвате Google Таблици, изберете Google Таблици - Получаване на редове.

  3. Изберете Списък на редовете, присъстващи в действие на таблица .

    Екранна снимка на списък на редове в таблица.

  4. Изберете Местоположение , Библиотека с документи, Файл и Таблица, които съдържат вашите данни.

    Екранна снимка на полетата

Проверка на колоната за състояние на всеки ред

  1. Изберете Нова стъпка.

  2. Потърсете Приложи към всяка от тях и след това изберете Приложи към всяка - Контрола .

  3. Добавете маркера за стойност към полето Избор на изход от предишни стъпки .

    Този маркер за стойност представлява таблицата с електронни таблици и всички нейни данни.

  4. Изберете Добавяне на действие в Приложи към всяка карта.

  5. Потърсете условие и след това изберете контролата Условие .

  6. Добавете следния израз Или . Този израз Or проверява стойността на всеки ред в таблицата. Ако стойността на колоната "Състояние" е завършена или ненужна, изразът"Или" се оценява на " истина".

    Ето един пример за карта на условие .

    Екранна снимка на израз

Изтриване на съвпадащи редове от електронната таблица

  1. Изберете Добавяне на действие в клона Ако да на условието.

    Клонът If yes се изпълнява, ако условието OR се оценява като true.

  2. Потърсете Изтриване на ред, изберете Excel Online (Бизнес) и след това изберете Изтриване на ред .

  3. В полетата Изтриване на карта на ред задайте полетатаМестоположение, Библиотека с документи, Файл иТаблица точно както сте задали тези полета в редовете Списък, присъстващи в карта на таблица по-рано в този урок.

  4. В падащия списък Колона с ключове изберете _PowerAppsId_ .

  5. В полето Стойност на ключа вмъкнете_динамичната стойност _ PowerAppsId.

  6. Запишете потока.

Изпълнение на потока с израза "или"

Потокът се изпълнява, след като го запишете. Ако сте създали електронната таблица, показана по-рано в този урок, ето как изглежда тя след приключване на изпълнението.

Екранна снимка на електронната таблица, когато изразът

Обърнете внимание, че всички данни от редове, които са завършени или ненужни в колоната Състояние , са изтрити.

Използвайте израза "и"

Да предположим, че имате таблица с електронни таблици с две колони. Имената на колоните са "Състояние" и "Присвоени". Да предположим също, че искате да изтриете всички редове, ако стойността на колоната "Състояние" е блокирана и стойността на колоната "Възложени" е "Джон Уондър ". За да изпълните тази задача, следвайте всички стъпки по-горе в този урок, но когато редактирате картата на условието в разширен режим, използвайте израза и , показан тук.

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

Ето един пример за карта на условие .

Екранна снимка на израза

Стартирайте потока с израза "и"

Ако сте следвали стъпките в този урок, електронната ви таблица трябва да изглежда подобно на следващата екранна снимка.

Екранна снимка на електронната таблица, преди потокът ви да се изпълни.

След като потокът ви се изпълни, електронната ви таблица трябва да изглежда подобно на следващата екранна снимка.

Екранна снимка на електронната таблица, след като потокът ви се изпълни.

Използвайте израза "празно"

Забележете, че сега в електронната таблица има няколко празни реда. За да ги премахнете, използвайте празния израз, за да идентифицирате всички редове, които нямат текст в колоните Възложено и Състояние .

За да изпълните тази задача, следвайте всички стъпки, изброени в раздела Използване на израза "и" по-горе в този урок. Когато редактирате картата на условие в разширен режим, използвайте следния празен израз.

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

Вашата карта за състоянието трябва да изглежда подобно на следващата екранна снимка.

Екранна снимка на израза

След като потокът ви се изпълни, електронната таблица трябва да изглежда подобно на следващата екранна снимка.

SScreenshot на електронната таблица след

Забележете, че допълнителните редове се премахват от таблицата.

Използвайте израза "по-голям"

Представете си, че сте закупили билети за бейзбол за колегите си и използвате електронна таблица, за да сте сигурни, че разходите ви се възстановяват от всеки човек. Можете бързо да създадете поток в облака, който изпраща ежедневен имейл до всеки човек, който не е платил цялата сума.

Използвайте по-големия израз, за да идентифицирате служителите, които не са платили цялата сума. След това можете автоматично да изпратите имейл с напомняне на тези, които не са платили изцяло.

Ето изглед на електронната таблица.

Екранна снимка на електронната таблица на тези, които не са платили изцяло.

Ето изпълнението на по-големия израз, който идентифицира всички лица, които са платили по-малко от дължимата от тях сума.

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

Използвайте израза "по-малко"

Представете си, че сте закупили билети за бейзбол за колегите си и използвате електронна таблица, за да сте сигурни, че ще бъдете възстановени от всеки човек до датата, на която всички са се съгласили. Можете да създадете поток в облака, който изпраща имейл с напомняне до всяко лице, което не е платило цялата сума, ако текущата дата е по-малко от един ден преди датата на падежа.

Използвайте израза и с по-малко израз, тъй като има две условия, които се валидират.

Условие за валидиране Израз за използване Пример
Изплатена ли е цялата дължима сума? по-голямо @greater(item()?['Due'], item()?['Paid'])
Датата на падежа по-малко от един ден ли е? по-малко @less(item()?['DueDate'], addDays(utcNow(),1))

Комбинирайте изразите "по-голямо" и "по-малко" в израз "и"

Използвайте по-големия израз, за да идентифицирате служителите, които са платили по-малко от цялата дължима сума, и използвайте израза по-малко, за да определите дали датата на падежа на плащането е по-малко от един ден от текущата дата. След това можете да използвате действието Изпращане на имейл , за да изпращате напомнящи имейли на тези служители, които не са платили изцяло и датата на падежа е по-малко от един ден.

Ето изглед на таблицата с електронни таблици.

Екранна снимка на таблицата с електронни таблици.

Ето изпълнението на израза and , който идентифицира всички служители, които са платили по-малко от дължимата от тях сума и датата на падеж е по-малко от един ден от текущата дата.

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

Използване на функции в изрази

Някои изрази получават стойностите си от действия по време на изпълнение, които може все още да не съществуват, когато започне да се изпълнява поток от облаци. За да препращате или работите с тези стойности в изрази, можете да използвате функции, които предоставя дефиниране на работен поток език. Повече информация. За да научите повече, отидете на Справочник за функциите за изразяване на работния поток в Azure Logic Apps и Power Automate.