Використання виразів в умовах для перевірки кількох значень
У цьому уроці ви навчитеся використовувати вирази та умови для порівняння кількох значень у розширеному режимі.
Під час створення хмарного циклу можна використовувати картку стану в базовому режимі, щоб швидко порівняти одне значення з іншим. Однак бувають випадки, коли потрібно порівнювати кілька значень. Наприклад, може знадобитися перевірити значення кількох стовпців в електронній таблиці або таблиці бази даних.
Ви можете використовувати будь-яку комбінацію наведених нижче логічних виразів у своїх умовах.
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 тут, ви можете використовувати будь-який підтримуваний поштовий сервіс у своїх потоках.)
Іноді робочий процес має виконати дію, якщо значенням елемента є значення A або значенняB . Наприклад, ви можете відстежувати статус завдань у таблиці електронної таблиці. Припустимо, що таблиця має стовпець з іменем Статус і можливі значення в цьому стовпці:
- Завершено
- заблоковано
- Непотрібних
- не розпочато
Ось приклад того, як може виглядати електронна таблиця:
З огляду на попередню електронну таблицю, ви хочете використовувати Power Automate для видалення всі рядки зі стовпцем Статус , який встановлено як завершений або непотрібний.
Давайте створимо ланцюжок.
авторизуйтесь Power Automate.
На лівій панелі виберіть Мої потоки.
Виберіть Новий потік>Запланований хмарний цикл.
Дайте своєму ланцюжку назву.
Встановіть розклад, щоб запускати потік один раз на день.
Натисніть кнопку Створити , щоб перейти до наступного кроку.
Примітка
Power Automate використовує класичний дизайнер хмарних потоків або дизайнер хмарних потоків з Copilot. Щоб визначити, який дизайнер ви використовуєте, перейдіть до розділу «Примітка » в розділі «Розуміння дизайнера хмарних потоків із можливостями другого пілота».
Виберіть елемент Новий крок.
Знайдіть рядки, а потім виберіть Excel Online (бізнес).
Виберіть дію отримати рядок , яка відповідає електронній таблиці, яку ви використовуєте. Наприклад, якщо ви використовуєте Google Таблиці, виберіть Google Таблиці - отримати рядки.
Виберіть дію Список рядків, наявних у таблиці .
Виберіть Розташування, Бібліотека документів, Файл і Таблиця , яка містить ваші дані.
Виберіть елемент Новий крок.
Знайдіть застосувати до кожного, а потім виберіть Застосувати до кожного - Контроль.
Додайте маркер value до поля Виберіть результат із попередніх кроків .
Цей значення токен представляє таблицю електронної таблиці та всі її дані.
Виберіть Додати дію на Застосувати до кожного картка.
Знайдіть умову, а потім виберіть елемент керування Умова .
Додайте наступний вираз Or . Цей вираз Or перевіряє значення кожного рядка в таблиці. Якщо значення стовпця Статус заповненоАбоне потрібне, вираз Or оцінюється як "true".
Ось приклад умови картка.
Виберіть Додати дію в гілці Якщо так умови.
Гілка If yes виконується, якщо умова OR обчислюється як true.
Виконайте пошук за запитом Видалити рядок, виберіть Excel Online (Business), а потім натисніть Видалити рядок.
У полі Видалити рядоккартка встановіть поля Розташування, Бібліотека документів, Файл і Таблиця точно так, як ви встановили ці поля в рядках Списку, присутніх у таблицікартці раніше в цьому уроці.
У розкривному списку Стовпець ключів виберіть PowerAppsId_.
У поле «Значення ключа» вставте динамічне значення_ PowerAppsId_ .
Збережіть цикл.
Ланцюжок запускається після того, як ви його збережете. Якщо ви створили електронну таблицю, показану раніше в цьому уроці, ось як вона виглядає після завершення запуску.
Зверніть увагу, що всі дані з заповнених або непотрібних рядків у стовпці «Статус » були видалені.
Припустимо, у вас є таблиця електронної таблиці з двома стовпцями. Назви стовпців: «Статус » і «Призначено». Також припустимо, що ви хочете видалити всі рядки, якщо значення стовпця «Стан» заблоковано , а в стовпці «Призначено » — Джон Вандер. Щоб виконати це завдання, дотримуйтесь всіх кроків, описаних вище в цьому посібнику, але коли ви редагуєте Умовукартку в розширеному режимі, використовуйте вираз and, показаний тут.
@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))
Ось приклад умови картка.
Якщо ви виконали кроки в цьому уроці, ваша електронна таблиця повинна виглядати так само, як на наступному скріншоті.
Після запуску ланцюжка має виглядати так само, як на наступному знімку екрана.
Зверніть увагу, що тепер в електронній таблиці є кілька порожніх рядків. Щоб видалити їх, скористайтеся порожнім виразом, щоб визначити всі рядки, у яких немає тексту в стовпцях «Призначено » та «Статус ».
Щоб виконати це завдання, дотримуйтесь всіх кроків, перелічених у розділі Використання виразу ’and’ раніше в цьому уроці. Коли ви редагуєте Умовукартку в розширеному режимі, використовуйте наступний порожній вираз.
@and(empty(item()?['Status']), empty(item()?['Assigned']))
Ваша Умовкартка має виглядати так само, як на наступному скріншоті.
Після запуску ланцюжка таблиця має виглядати подібно до наведеного нижче скріншоту.
Зверніть увагу, що зайві рядки видаляються зі столу.
Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб гарантувати, що ви отримуєте відшкодування від кожної людини. Ви можете швидко створити хмарний цикл, який щодня надсилатиме електронний лист кожній людині, яка не сплатила повну суму.
Використовуйте вираз «більше », щоб визначити працівників, які не сплатили повну суму. Після цього ви зможете автоматично надіслати електронний лист із нагадуванням тим, хто не сплатив у повному обсязі.
Ось вигляд електронної таблиці.
Ось реалізація більшого виразу , який ідентифікує всіх осіб, які сплатили менше, ніж належна з них сума.
@greater(item()?['Due'], item()?['Paid'])
Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб гарантувати, що ви отримаєте відшкодування від кожної особи до дати, на яку всі погодилися. Ви можете створити хмарний цикл, який надсилатиме електронний лист із нагадуванням кожній людині, яка не сплатила повну суму, якщо поточна дата менше ніж за один день до дати пологів.
Використовуйте вираз and з виразом less, оскільки є дві умови, які перевіряються.
Умова для перевірки | Вираз для використання | Приклад |
---|---|---|
Чи сплачено повну суму до сплати? | більше | @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.