Використання виразів в умовах для перевірки кількох значень
У цьому уроці ви навчитеся використовувати вирази та умови для порівняння кількох значень у розширеному режимі.
Коли ви створюєте хмарний потік, ви можете використовувати картку «Умова » в базовому режимі, щоб швидко порівнювати одне значення з іншим. Однак бувають випадки, коли потрібно порівнювати кілька значень. Наприклад, може знадобитися перевірити значення кількох стовпців в електронній таблиці або таблиці бази даних.
Ви можете використовувати будь-яку комбінацію наведених нижче логічних виразів у своїх умовах.
Expression | Опис | Приклад |
---|---|---|
і | Приймає два аргументи і повертає true, якщо обидва значення істинні. Примітка: Обидва аргументи мають бути булевими. |
Цей вираз повертає false:and(greater(1,10),equals(0,0)) |
або | Приймає два аргументи та повертає 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) |
greaterOrEquals | Приймає два аргументи та повертає true, якщо перший аргумент більший або дорівнює другому аргументу. Примітка: Підтримуються такі типи: ціле число, число з плаваючою точкою та рядок. |
Цей вираз повертає false:greaterOrEquals(10,100) |
порожній | Повертає true, якщо об’єкт, масив або рядок порожні. | Цей вираз повертає true:empty('') |
not | Повертає значення, протилежне логічному значенню. | Цей вираз повертає true:not(contains('200 Success','Fail')) |
якщо | Повертає конкретне значення, якщо вираз призводить до true або false. | Цей вираз повертає "так":if(equals(1, 1), 'yes', 'no') |
вимоги
Ось що вам знадобиться, щоб виконати це покрокове керівництво.
- Доступ до Power Automate.
- Ваша власна електронна таблиця з таблицями, описаними далі в цьому покроковому керівництві. Обов’язково збережіть свою електронну таблицю в такому місці, як Dropbox або Microsoft OneDrive , щоб мати Power Automate до неї доступ.
- Microsoft 365 Outlook (Хоча ми використовуємо Outlook тут, ви можете використовувати будь-який підтримуваний поштовий сервіс у своїх потоках.)
Використовуйте вираз ’or’
Іноді робочий процес має виконати дію, якщо значенням елемента є значення A або значенняB . Наприклад, ви можете відстежувати статус завдань у таблиці електронної таблиці. Припустимо, що таблиця має стовпець з іменем Статус і можливі значення в цьому стовпці:
- Завершено
- заблоковано
- Непотрібних
- не розпочато
Ось приклад того, як може виглядати електронна таблиця:
З огляду на попередню електронну таблицю, ви хочете використовувати Power Automate для видалення всі рядки зі стовпцем Статус , який встановлено як завершений або непотрібний.
Давайте створимо ланцюжок.
Почніть із порожнього потоку
авторизуйтесь Power Automate.
На панелі ліворуч виберіть Мої потоки.
Виберіть Новий потік>Запланований хмарний потік.
Як додати тригер у ланцюжок
Дайте своєму ланцюжку назву.
Встановіть розклад, щоб запускати потік один раз на день.
Натисніть кнопку Створити , щоб перейти до наступного кроку.
Нотатка
- Power Automate використовує класичний дизайнер хмарних потоків або новий сучасний конструктор з можливостями Copilot. Щоб визначити, який дизайнер ви використовуєте, перейдіть до розділу «Примітка » в розділі «Огляд конструктора хмарних потоків».
- Коли ви перемикаєтеся між класичним і сучасним дизайном, вам буде запропоновано зберегти потік. Ви не можете зберегти та переключитися, доки не будуть усунені всі помилки.
Виберіть електронну таблицю та отримайте всі рядки
Попросіть Copilot створити для вас потік. Будь ласка, введіть такий запит у Copilot:
Щотижня створюйте список рядків у таблиці Excel, і якщо стовпець «Статус» дорівнює «Успішно» або «Електронна адреса менеджера запиту» jake@contoso.com, видаліть рядок Excel
Виберіть Надіслати
.
Крім того, ви можете виконати наведені нижче дії, щоб створити той самий потік вручну:
Додайте новий крок, вибравши знак плюс (+) >Додати дію.
Знайдіть рядки, виберіть Excel Online (Бізнес), а потім виберіть дію Отримати рядок , яка відповідає електронній таблиці, яку ви використовуєте.
Наприклад, якщо ви використовуєте Google Таблиці, виберіть Google Таблиці - отримати рядки.
Виберіть дію Список рядків, наявних у таблиці .
Виберіть Розташування, Бібліотеку документів, Файл і Таблицю , які містять ваші дані.
Перевірте стовпець статусу кожного рядка
Додайте новий крок, вибравши знак плюс (+) >Додати дію.
На екрані Додати дію виконайте пошук застосувати до кожного, а потім виберіть Застосувати до кожного під Контроль.
Додайте маркер value до вікна Виберіть результат із попередніх кроків , вибравши піктограму світлового стрижня.
Цей значення токен представляє таблицю електронної таблиці та всі її дані.
На картці Застосувати до кожної додайте новий крок, вибравши знак плюс (+) >Додати дію.
Знайдіть умову, а потім виберіть елемент керування Умова .
Додайте наступний вираз OR . Цей вираз OR перевіряє значення кожного рядка в таблиці.
Якщо значення стовпця СтанзаповненоАбоне потрібне, вираз OR обчислює to true.
Ось приклад картки Condition .
Видалити відповідні рядки з електронної таблиці
Виберіть Додати дію до Якщо так гілки умови.
Гілка If yes запускається, якщо умова Or оцінюється як true.
Знайдіть Видалити рядок, виберіть Excel Online (бізнес), а потім виберіть Видалити рядок.
На картці Видалити рядок встановіть Розташування, Бібліотека документів, Файл, і Таблиця поля точно так само, як ви встановили ці поля в Спискових рядках, присутніх на картці таблиці раніше в цьому посібнику.
У розкривному списку Ключовий стовпець виберіть _PowerAppsId_.
У поле Ключове значення вставте динамічне значення _PowerAppsId_ .
Збережіть цикл.
Запустіть потік за допомогою виразу «або».
Потік запускається після збереження. Якщо ви створили електронну таблицю, показану раніше в цьому посібнику, ось як вона виглядатиме після завершення запуску.
Зверніть увагу, що всі дані з рядків, які були заповнені або непотрібні у стовпці Статус були видалені.
Використовуйте вираз «і».
Припустімо, що у вас є таблиця електронної таблиці з двома стовпцями. Назви стовпців: Стан і Призначено. Припустімо також, що ви хочете видалити всі рядки, якщо значення стовпця Статусзаблоковано і значення стовпця Призначено є значення Джон Чудо. Щоб виконати це завдання, виконайте всі описані вище кроки в цьому підручнику, але коли ви редагуєте картку Умова в розширеному режимі, використовуйте вираз та , показаний тут.
@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))
Ось приклад картки Condition .
Запустіть потік за допомогою виразу «і».
Якщо ви виконали кроки, наведені в цьому підручнику, ваша електронна таблиця має виглядати так, як наведений нижче знімок екрана.
Після запуску потоку ваша електронна таблиця має виглядати так, як наведений нижче знімок екрана.
Використовуйте «порожній» вираз
Зверніть увагу, що зараз в електронній таблиці є кілька порожніх рядків. Щоб видалити їх, використовуйте вираз empty , щоб визначити всі рядки, у яких немає тексту, у стовпцях Призначено і Статус .
Щоб виконати це завдання, виконайте всі дії, наведені в розділі Використання виразу «і» раніше в цьому посібнику. Коли ви редагуєте картку Умова в розширеному режимі, використовуйте наступний порожній вираз.
@and(empty(item()?['Status']), empty(item()?['Assigned']))
Ваша картка Condition має виглядати подібно до наступного знімка екрана.
Після запуску потоку електронна таблиця має виглядати так, як наведений нижче знімок екрана.
Зверніть увагу, що зайві рядки видалені з таблиці.
Використовуйте вираз «більший».
Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб переконатися, що кожна особа компенсує вам витрати. Ви можете швидко створити хмарний потік, який щоденно надсилає електронний лист кожній особі, яка не сплатила повну суму.
Використовуйте вираз greater , щоб визначити працівників, які не сплатили повну суму. Потім ви можете автоматично надіслати електронний лист із нагадуванням тим, хто не сплатив повністю.
Ось вид електронної таблиці.
Ось реалізація виразу greater , який ідентифікує всіх осіб, які сплатили менше суми, яка їм належить.
@greater(item()?['Due'], item()?['Paid'])
Використовуйте вираз «менше».
Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб переконатися, що кожна особа відшкодує вам кошти до дати, на яку всі погодилися. Ви можете створити хмарний потік, який надсилатиме електронний лист із нагадуванням кожній особі, яка не сплатила повну суму, якщо поточна дата менш ніж за один день до кінцевої дати.
Використовуйте вираз і з виразом less , оскільки перевіряються дві умови.
Умова для підтвердження | Вираз для використання | Приклад |
---|---|---|
Чи сплачено повну суму? | більше | @greater(item()?['Due'], item()?['Paid']) |
До терміну пологів менше одного дня? | менш | @less(item()?['DueDate'], addDays(utcNow(),1)) |
Об’єднайте вирази «більше» та «менше» у вираз «і».
Використовуйте вираз greater , щоб визначити працівників, які сплатили менше, ніж повна сума, і використовуйте вираз less , щоб визначити, чи дата платежу залишилася менше ніж через один день від поточної дати. Потім ви можете використати дію Надіслати електронний лист , щоб надіслати електронні листи з нагадуванням тим співробітникам, які не сплатили повну оплату, а термін оплати залишився менше ніж за один день.
Ось вигляд таблиці електронної таблиці.
Ось реалізація виразу і , який ідентифікує всіх працівників, які заплатили менше суми, що їм належить, і дата сплати менша ніж за один день від поточної дати.
@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))
Використання функцій у виразах
Деякі вирази отримують значення з дій під час виконання, які можуть ще не існувати, коли хмарний потік починає працювати. Щоб посилатися на ці значення або працювати з ними у виразах, ви можете використовувати функції, які надає мова визначення робочого процесу. Додаткові відомості. Щоб дізнатися більше, перейдіть до Довідкового посібника з функцій виразу робочого процесу в програмах Azure Logic і Power Automate.