Создание выражений с помощью Power Fx
Power Fx — это язык с низким уровнем кода, в котором используются формулы, похожие на формулы Excel. Используйте Power Fx, чтобы создавать сложную логику, которая позволяет вашим помощникам управлять данными. Например, формула Power Fx может задавать значение переменной, анализировать строку или использовать выражение в условии. Дополнительные сведения см. в обзоре Power Fx и справочнике по формулам.
Заметка
Power Fx формулы в Copilot Studio используют нумерацию в американском стиле. То есть десятичный разделитель — это точка, как в 12,567.892
. Это означает, что параметры Power Fx необходимо разделять запятыми (,).
Предварительные условия
Использование переменных в формулах
Чтобы использовать переменную в формулах Power Fx, необходимо добавить префикс к ее имени, чтобы указать область действия переменной:
- Для системных переменных используйте
System.
- Для глобальных переменных используйте
Global.
- Для переменных темы используйте
Topic.
Например, чтобы использовать системную переменную 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 формулы для использования с этими типами данных.
Использование Power Fx для задания переменной
В этом примере выражение Power Fx сохраняет и выводит имя клиента заглавными буквами.
Создайте тему и добавьте узел Вопрос.
Для Введите сообщение введите «Как вас зовут?».
В разделе Идентификация выберите сущность Имя человека.
Выберите поле под Сохранить ответ как, затем выберите переменную
Var1
и назовите ееcustomerName
.В узле Вопрос выберите +, затем выберите Задать значение переменной.
Выберите поле под Задать переменную, затем выберите Создать новую и назовите ее
capsName
.В поле До значения выберите стрелку >, затем выберите вкладку Формула.
В поле fx введите
Upper(Text(Topic.customerName))
, затем выберите Вставить.В узле Вопрос выберите +, затем выберите Отправить сообщение.
Введите «HELLO», выберите {x}, а затем выберите
capsName
.
Использование формулы Power Fx в качестве условия
Чтобы оценить более сложные выражения, настройте узлы Условие для использования формул Power Fx.
В этом примере помощник определяет, соответствует ли дата резервирования условиям скидок. Для этого он проверяет, находится ли дата бронирования, указанная клиентом, за 14 или более дней от текущей даты.
Создайте тему и добавьте узел Вопрос.
Для Введите сообщение введите «Дата бронирования?».
В разделе Идентификация выберите сущность Дата и время.
Выберите поле под Сохранить ответ как, затем выберите переменную
Var1
и назовите ееbookingDate
.Выберите значок Добавить узел под узлом Вопрос , а затем выберите Добавить условие.
Выберите значок Дополнительно (…) узла Условие , а затем выберите Изменить на формулу.
В поле Функция выберите стрелку >, затем выберите вкладку Формула.
Замените содержимое поля fx формулой
Topic.bookingDate > (DateAdd (Now(), 14))
, затем выберите Вставить.В узле Условие добавьте узел Сообщение и введите сообщение «Вы имеете право на скидку».
В узле Все остальные условия добавьте узел Сообщение и введите сообщение: «К сожалению, вы не имеете права на скидку».