Поделиться через


Использование выражений в условиях для проверки нескольких значений

Создавая облачный поток, вы можете быстро сравнивать одно значение с другим, используя действие Условие. Но в некоторых случаях требуется сравнить несколько значений. Например, вам необходимо проверить значение в нескольких столбцах электронной таблицы или таблицы базы данных.

В этом руководстве вы создадите облачный поток и примените условие or. В разделе Сценарии для других распространенных выражений вы узнаете, как использовать другие выражения, такие как and, empty, greater и less в условиях.

Предварительные требования

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

  • Войдите в Power Automate.
  • Ваша электронная таблица с таблицами, приведенными далее в этом руководстве. Сохраните электронную таблицу в таком расположении, как Dropbox или Microsoft OneDrive, чтобы она была доступна для Power Automate.
  • Microsoft 365 Outlook (Хотя в этом руководстве используется Outlook, в своих потоках вы можете использовать любую поддерживаемую службу электронной почты.)

Создание облачного потока

Вы можете создать облачный поток, используя естественный язык в Copilot, или создать его с нуля. Если у вас есть доступ к Copilot, перейдите на вкладку С помощником для создания потока. Если у вас нет доступа к Copilot, выберите вкладку Без помощника.

  1. Войдите в Power Automate.

  2. Попросите Copilot создать для вас поток. Скопируйте следующий запрос и вставьте его в поле Copilot:

    Every week, list rows in an Excel table, and if the Status column equals Succeeded or claim manager's email is [email protected], delete Excel row.
    
  3. Выберите Создать.

  4. Выберите Оставить и продолжить.

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

  6. После настройки подключений выберите Создать поток. Открывается экран конструктора. Здесь при необходимости можно настроить облачный поток.

  7. Перейдите в раздел Выбор электронной таблицы и получение всех строк.

Выбор электронной таблицы и получение всех строк

После создания облачного потока получите таблицу со столбцом Состояние. Возможные значения в столбце Состояние следующие:

Иногда в рабочем процессе необходимо выполнить действие, если элемент имеет значение valueA или valueB. Например, вам требуется отследить состояние задач в электронное таблице. Предположим, что в таблице есть столбец с именем Состояние и в этом столбце возможны следующие значения:

  • completed
  • blocked
  • unnecessary
  • not started

Вот пример, как может выглядеть электронная таблица:

Снимок экрана с образцом электронной таблицы со столбцом «Состояние».

Для работы с электронной таблицей, начните с конструктора. Это можно сделать в новом конструкторе или в классическом конструкторе. Шаги схожи в обоих конструкторах. Подробнее (с примерами) см. в статье Определение различий между новым конструктором и классическим конструктором.

  1. Создайте облачный поток или выберите его из списка существующих облачных потоков, выбрав Мои потоки в левой области навигации >Изменить.

  2. В конструкторе выберите карточку действия Список строк, присутствующих в таблице.

  3. На вкладке Параметры выберите Расположение, Библиотека документов, Файл и Таблица.

    Снимок экрана параметров для списка строк, присутствующих в таблице, в Copilot.

  4. Сверните область конфигурации, выбрав (<<) в правом верхнем углу области конфигурации.

  5. Перейдите в раздел Добавить условие.

Добавить условие

Прежде чем добавлять условие для проверки значения столбца Состояние в каждой строке электронной таблицы, убедитесь, что вы выполнили следующие процедуры, описанные в этом руководстве:

  1. В конструкторе добавьте новый шаг, выбрав знак плюса (+) >Добавить действие.

  2. На экране Добавить действие, выполните поиск применить к каждому, затем выберите Применить к каждому в разделе Элемент управления.

  3. Добавьте токен значение в поле Выберите выходные данные из предыдущих шагов, выбрав внутри поля, затем выбрав значок молнии.

    Снимок экрана с выбором значения из предыдущего шага.

    Этот маркер значения представляет электронную таблицу и все ее данные.

  4. На карточке Применить к каждому добавьте новый шаг, выбрав знак плюса (+) >Добавить действие.

  5. Найдите условие, а затем выберите элемент управления Условие.

  6. Добавьте следующее выражение OR. Это выражение OR проверяет значение каждой строки в таблице.

    Если в столбце Состояние задано значение ЗавершеноORНе требуется, выражение OR возвращает значение true.

    Вот пример карточки Условие.

    Снимок экрана выбора значения из предыдущего шага.

  7. Перейдите в раздел Удаление совпадающих строк из электронной таблицы.

Удаление совпадающих строк из электронной таблицы

В этом руководстве условие Or используется для удаления строк со значением completed или unnecessary из электронной таблицы. Прежде чем добавить действие Удалить строку, убедитесь, что выполнены следующие процедуры:

  1. В конструкторе выберите значок "плюс" (+), чтобы добавить действие в ветвь True условия.

    Ветвь True запускается, если условие ИЛИ имеет значение True.

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

    Снимок экрана удаления строки.

  3. На панели Удалить строку задайте поля Расположение, Библиотека документов, Файл и Таблица точно так же, как вы задали эти поля в карточке Список строк, присутствующих в таблице ранее в этом руководстве.

  4. В раскрывающемся списке Ключевой столбец, выберите _PowerAppsId_.

  5. В поле Значение ключа вставьте динамическое значение _PowerAppsId_.

  6. Перейдите в раздел Сохранение и тестирование облачного потока.

Сохранение и тестирование облачного потока

  1. В конструкторе выберите Сохранить. Появится зеленое сообщение Поток готов к работе. Рекомендуем протестировать его.
  2. Выберите Тест, чтобы запустить поток.
  3. В области Проверить поток выберите Вручную>Тест.
  4. На панели Выполнить поток выберите Выполнить поток. Если поток настроен правильно, появится сообщение Выполнение потока успешно начато. Чтобы отслеживать его, перейдите на страницу выполнений потока.
  5. Чтобы закрыть панель Выполнить поток выберите Готово.

Поздравляем! Вы создали облачный поток, который удаляет строки из электронной таблицы, если значение в столбце Состояние равно либо completed, либо unnecessary. Вот как должна выглядеть ваша электронная таблица после завершения выполнения.

Снимок экрана электронной таблицы после завершения работы выражения «OR».

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

Сценарии для других распространенных выражений

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

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

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

Использование выражения «and»

Предположим, у вас есть электронная таблица с двумя столбцами. Имена столбцов — Состояние и Кому назначено. Предположим также, что необходимо удалить все строки со значением заблокировано в столбце Состояние и значением John Wonder в столбце Кому назначено. Чтобы выполнить эту задачу, при редактировании карточки Условие в поле Добавить условие используйте выражение and, показанное здесь.

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

Вот пример карточки Условие.

Снимок экрана с выражением «and».

Запуск потока с выражением «and»

Если вы выполнили шаги, описанные в этом разделе, ваша электронная таблица должна выглядеть примерно так, как показано на следующем снимке экрана.

Снимок экрана электронной таблицы перед запуском потока.

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

Снимок экрана электронной таблицы после запуска потока.

Использование выражения «empty»

Обратите внимание, что сейчас в электронной таблице есть несколько пустых строк. Чтобы определить и удалить все строки без текста в столбцах Состояние и Кому назначено, воспользуйтесь выражением empty.

Для выполнения этой задачи выполните все шаги, перечисленные в разделе Использование выражения «and» в этом руководстве. Когда вы редактируете карточку Условие в расширенном режиме, используйте следующее выражение empty.

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

Ваша карточка Условие должна выглядеть аналогично следующему снимку экрана.

Снимок экрана с выражением «empty».

После запуска потока электронная таблица должна выглядеть примерно так, как показано на следующем снимке экрана.

Снимок экрана электронной таблицы после запуска выражения «empty».

Обратите внимание, что лишние строки удалены из таблицы.

Использование выражения «greater»

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

Используйте выражение больше, чтобы определить, кто из сотрудников еще не вернул всю сумму. После этого вы можете автоматически отправить им напоминание по электронной почте.

Электронная таблица выглядит так:

Снимок экрана таблицы сотрудников, которые не заплатили полностью.

Ниже показана реализация выражения больше, которое позволяет определить всех сотрудников, вернувших меньшую сумму.

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

Использование выражения «less»

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

Используйте выражение and вместе с выражением less, так как проверяются два условия.

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

Объединение выражений «greater» и «less» с помощью выражения «and»

Используйте выражение больше, чтобы определить, кто из сотрудников вернул меньшую сумму, а выражение меньше, чтобы определить, осталось ли до срока оплаты меньше одного дня. Затем вы сможете выбрать действие Отправка электронного письма, чтобы отправить сообщение с напоминанием тем сотрудникам, кто не вернул всю сумму, а также если до срока оплаты осталось меньше одного дня.

Электронная таблица выглядит так:

Снимок экрана электронной таблицы.

Ниже показана реализация выражения И, которое позволяет определить, кто из сотрудников вернул меньшую сумму, а также осталось ли до срока оплаты меньше одного дня.

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

Использование функций в выражениях

Некоторые выражения получают значения из действий времени выполнения, которые могут еще не существовать, когда облачный поток начинает работу. Чтобы ссылаться на эти значения или работать с ними в выражениях, вы можете использовать функции, предоставляемые языком определений рабочих процессов.

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

Обучение. Введение в выражения в Power Automate (модуль)