Создание выражений с помощью Power Fx

Внимание

Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.

Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.

Power Fx — это язык с низким уровнем кода, в котором используются формулы, похожие на формулы Excel. Используйте Power Fx, чтобы создавать сложную логику, которая позволяет вашим помощникам управлять данными. Например, формула Power Fx может задавать значение переменной, анализировать строку или использовать выражение в условии. Дополнительные сведения см. в обзоре Power Fx и справочнике по формулам.

Заметка

Формулы Power Fx в Microsoft Copilot Studio используют нумерацию в американском стиле. То есть десятичный разделитель — это точка, как в 12,567.892. Это означает, что параметры Power Fx необходимо разделять запятыми (,).

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

Использование переменных в формулах

Чтобы использовать переменную в формулах Power Fx, необходимо добавить префикс к ее имени, чтобы указать область действия переменной:

Например, чтобы использовать системную переменную Conversation.Id в формуле, вам нужно обратиться к ней как System.Conversation.Id.

Снимок экрана: область ввода формулы с выражением, содержащим системную переменную.

Использование литеральных значений в формулах

Помимо использования переменных в формулах Power Fx, вы можете вводить литеральные значения. Чтобы использовать литеральное значение в формуле, вы должны ввести его в формате, соответствующем его типу: В следующей таблице перечислены типы данных и формат соответствующих литеральных значений.

Type Примеры форматов
String "hi", "hello world!", "copilot"
Логический Только true или false
Число 1, 532, 5.258, -9201
Таблицу [1], [45, 8, 2], ["cats", "dogs"]
Запись { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Дата/время Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Выбранный вариант Неподдерживаемые
Чистого листа Только Blank()

Использование Power Fx для задания переменной

В этом примере мы будем использовать выражение Power Fx для хранения имени клиента и вывода его заглавными буквами.

  1. Создайте тему и добавьте узел Вопрос.

  2. Для Введите сообщение введите What is your name?.

  3. В разделе Идентификация выберите сущность Имя человека.

  4. Выберите поле под Сохранить ответ как, затем выберите переменную Var1 и назовите ее customerName.

    Снимок экрана: узел вопроса с выделенной переменной с именем Var1.

  5. В узле Вопрос выберите +, затем выберите Задать значение переменной.

  6. Выберите поле под Задать переменную, затем выберите Создать новую и назовите ее capsName.

  7. В поле До значения выберите стрелку >, затем выберите вкладку Формула.

  8. В поле fx введите Upper(Text(Topic.customerName)), затем выберите Вставить.

    Снимок экрана: формула Power Fx в узле «Задать переменную» с выделенной вкладкой «Формула».

  9. В узле Вопрос выберите +, затем выберите Отправить сообщение.

  10. Введите HELLO , выберите {x}, затем выберите capsName.

    Снимок экрана узла «Отправить сообщение» с определенным сообщением.

Использование формулы Power Fx в качестве условия

Чтобы оценить более сложные выражения, настройте узлы Условие для использования формул Power Fx.

В этом примере помощник определяет, соответствует ли дата резервирования условиям скидок. Для этого он проверяет, находится ли дата бронирования, указанная клиентом, за 14 или более дней от текущей даты.

  1. Создайте тему и добавьте узел Вопрос.

  2. Для Введите сообщение введите Booking date?.

  3. В разделе Идентификация выберите сущность Дата и время.

  4. Выберите поле под Сохранить ответ как, затем выберите переменную Var1 и назовите ее bookingDate.

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

  5. Выберите значок +, затем выберите Добавить условие.

  6. В узле Условие выберите Меню узла (), затем выберите Изменить на формулу.

    Снимок экрана: узел «Условие» со значком «Меню узла» и выделенным пунктом «Изменить на формулу».

  7. В поле Функция выберите стрелку >, затем выберите вкладку Формула.

  8. Замените содержимое поля fx формулой Topic.bookingDate > (DateAdd (Now(), 14)), затем выберите Вставить.

  9. В узле Условие добавьте узел Отправить сообщение и введите сообщение You qualify for a discount.

  10. В узле Все остальные условия добавьте узел Отправить сообщение и введите сообщение Sorry, you don't qualify for a discount.

    Снимок экрана: узлы «Сообщение» в узле «Условие».