Використання виразів в умовах для перевірки кількох значень

У цьому уроці ви навчитеся використовувати вирази та умови для порівняння кількох значень у розширеному режимі.

Під час створення хмарного потоку можна використовувати картку "Умова" в базовому режимі, щоб швидко порівняти одне значення з іншим. Однак бувають випадки, коли потрібно порівняти кілька значень. Наприклад, може знадобитися перевірити значення кількох стовпців в електронній таблиці або таблиці бази даних.

Ви можете використовувати будь-яку комбінацію наведених нижче логічних виразів у ваших умовах.

Expression Опис Приклад
і Приймає два аргументи та повертає значення TRUE, якщо обидва значення істинні.
Примітка: обидва аргументи мають бути логічними.
Цей вираз повертає значення false:
and(greater(1,10),equals(0,0))
або Приймає два аргументи та повертає значення TRUE, якщо будь-який аргумент істинний.
Примітка: обидва аргументи мають бути логічними.
Цей вираз повертає true:
or(greater(1,10),equals(0,0))
дорівнює Повертає значення TRUE, якщо два значення рівні. Наприклад, якщо параметр1 має значення 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:
empty('')
not Повертає число, протилежне логічному значенню. Цей вираз повертає 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. Знайдіть apply to each (застосувати до кожного), а потім виберіть командуApply to each - Control.

  3. Додайте маркер значення до поля Виберіть результат із попередніх кроків .

    Цей маркер значення представляє таблицю електронної таблиці та всі її дані.

  4. Виберіть елемент Додати дію в розділі Застосувати до кожної картки.

  5. Знайдіть умову, а потім виберіть елемент керування «Умова ».

  6. Додайте такий вираз Або . Цей вираз Or перевіряє значення кожного рядка в таблиці. Якщо значення стовпця Стан завершено або непотрібне , вираз Orповертає значення"true".

    Ось приклад картки умов .

    Знімок екрана: вираз

Видалення відповідних рядків з електронної таблиці

  1. Виберіть елемент Додати дію на гілці умови Якщо так .

    Гілка If yes запускається, якщо обчислюється умова OR як true.

  2. Виконайте пошук за запитом Видалити рядок, виберітьExcel Online (для бізнесу), а потім натисніть кнопкуВидалити рядок .

  3. На картці Видалення рядка встановіть поля Розташування , Бібліотека документів, Файл і Таблицяточно так, як у рядках списку, наявних у картці таблиці раніше в цьому посібнику.

  4. У розкривному списку Ключовий стовпець виберіть _PowerAppsId_ .

  5. У полі Ключове значення вставте динамічне значення _PowerAppsId.

  6. Збережіть цикл.

Запуск потоку з виразом ’or’

Потік запускається після його збереження. Якщо ви створили електронну таблицю, показану раніше в цьому посібнику, ось як вона виглядатиме після завершення запуску.

Знімок екрана: електронна таблиця після завершення виразу

Зверніть увагу, що всі дані з рядків, які були завершені або непотрібні у стовпці Стан, було видалено.

Використання виразу "and"

Припустімо, у вас є таблиця електронної таблиці з двома стовпцями. Імена стовпців – Стан і Призначення. Припустимо також, що ви хочете видалити всі рядки, якщо значення стовпця Стан заблоковано , а значення призначеного стовпця - Джон Уандер . Щоб виконати це завдання, виконайте всі кроки, описані вище в цьому посібнику, але під час редагування картки умов у розширеному режимі використовуйте вираз and , показаний тут.

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

Ось приклад картки умов .

Знімок екрана: вираз

Запуск потоку з виразом ’and’

Якщо ви виконали дії, описані в цьому посібнику, ваша електронна таблиця має виглядати приблизно так, як на наступному знімку екрана.

Знімок екрана: електронна таблиця перед запуском.

Після запуску ваша електронна таблиця має виглядати приблизно так, як на наступному знімку екрана.

Знімок екрана: електронна таблиця після запуску потоку.

Використання виразу ’empty’

Зверніть увагу, що тепер в електронній таблиці є кілька пустих рядків. Щоб видалити їх, скористайтеся пустим виразом, щоб визначити всі рядки, які не містять тексту у стовпцях Призначено та Стан .

Щоб виконати це завдання, виконайте всі кроки, перелічені в розділі Використання виразів ’and’ раніше в цьому посібнику. Під час редагування картки умов у розширеному режимі використовуйте наступний пустий вираз.

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

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

Знімок екрана:

Після запуску вашого потоку електронна таблиця має виглядати приблизно так, як на наступному знімку екрана.

SScreenshot електронної таблиці після

Зверніть увагу, що зайві рядки видаляються з таблиці.

Використання виразу "більший"

Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб гарантувати, що кожна людина відшкодує вам. Ви можете швидко створити хмарний потік, який щодня надсилатиме електронний лист кожній людині, яка не заплатила повну суму.

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

Ось подання електронної таблиці.

Скріншот електронної таблиці тих, хто заплатив не повністю.

Ось реалізація більшого виразу, який ідентифікує всіх осіб, які заплатили менше належної від них суми.

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

Використання виразу "менше"

Уявіть, що ви купили квитки на бейсбол для своїх колег і використовуєте електронну таблицю, щоб гарантувати, що кожна людина відшкодує вам дату, на яку всі погодилися. Ви можете створити хмарний потік, який надсилатиме нагадування електронною поштою кожній особі, яка не сплатила повну суму, якщо поточна дата менше ніж за один день до терміну.

Використовуйте вираз and з меншим виразом, оскільки перевіряються дві умови.

Умова для перевірки Вираз для використання Приклад
Чи сплачена повна сума? більше @greater(item()?['Due'], item()?['Paid'])
До терміну виконання залишилося менше одного дня? менш @less(item()?['DueDate'], addDays(utcNow(),1))

Поєднання виразів "більший" і "менший" у вираз "і"

Використовуйте більший вираз, щоб визначити працівників, які сплатили менше повної належної суми, і використовуйте вираз less , щоб визначити, чи термін платежу менше ніж на один день від поточної дати. Потім ви можете скористатися дією Надіслати електронний лист , щоб надіслати нагадування тим працівникам, які не повністю заплатили, а до терміну платежу залишилося менше одного дня.

Нижче наведено подання таблиці електронної таблиці.

Знімок екрана: таблиця електронної таблиці.

Ось застосування виразу and , який визначає всіх працівників, які заплатили менше належної від них суми, а термін погашення становить менше одного дня від поточної дати.

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

Використання функцій у виразах

Деякі вирази отримують свої значення від дій під час виконання, яких може ще не існувати, коли починає запускатися хмарний потік. Для посилання на ці значення у виразах або роботи з ними можна використовувати функції, які надає визначення робочого циклу Language. Більше інформації. Щоб дізнатися більше, перейдіть до розділу Довідник із функцій виразів робочого циклу в програмах Azure Logic і Power Automate.