Споделяне чрез


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

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

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

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

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

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

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

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

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

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

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

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

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

Като се има предвид предходната електронна таблица, искате да я използвате 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_ dynamic.

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

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

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

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

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

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

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

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

Ето пример за карта "Условие ".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обучение: Въведение в изразите в Power Automate (модул)