使用 Power Fx 创建表达式
Power Fx 是一种使用类似 Excel 的公式的低代码语言。 使用 Power Fx 创建允许助手操纵数据的复杂逻辑。 例如,Power Fx 公式可以设置变量的值、解析字符串或在条件中使用表达式。 有关详细信息,请参阅 Power Fx 概述和公式参考。
备注
Power Fx 公式使用 Copilot Studio 美式编号。 即,小数分隔符是一个句点或点,如 12,567.892
中那样。 这意味着 Power Fx 参数必须用逗号 (,) 分隔。
先决条件
在公式中使用变量
要在 Power Fx 公式中使用变量,您必须为其名称添加前缀以指示变量的范围:
例如,要在公式中使用系统变量 Conversation.Id
,请将系统变量引用为 System.Conversation.Id
。
在公式中使用文本值
除了可以在 Power Fx 公式中使用变量之外,还可以输入文本值。 要在公式中使用文字值,您必须以与其类型对应的格式输入文字值。 下表列出了数据类型及其相应文字值的格式。
类型 | 格式示例 |
---|---|
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 表达式以大写字母存储和输出客户的名称。
创建主题并添加问题节点。
对于 Enter a message( 输入消息),输入“What is your name?(您的姓名是什么?)”。
在识别下面,选择实体人员姓名。
选择将响应另存为下的框,然后选择变量
Var1
并将其命名为customerName
。在问题节点下,选择 +,然后选择设置变量值。
选中设置变量下的方框,然后选择新建,并将其命名为
capsName
。在目标值框中,选择 > 箭头,然后选择公式选项卡。
在 fx 框中,输入
Upper(Text(Topic.customerName))
,然后选择插入。在问题节点下,选择 +,然后选择发送消息。
输入“HELLO”,选择 {x},然后选择
capsName
。
使用 Power Fx 公式作为条件
若要评估更复杂的表达式,请设置条件节点以使用 Power Fx 公式。
在本例中,助手确定预订日期是否有资格享受折扣。 为此,它会检查客户提供的预订日期是否距当前日期相差 14 天或更长时间。
创建主题并添加问题节点。
对于 Enter a message( 输入消息),输入“Booking date?(预订日期?)。
在识别下面,选择实体日期和时间。
选择将响应另存为下的框,然后选择变量
Var1
并将其命名为bookingDate
。选择 Question(问题 )节点下的 Add node 图标 ,然后选择 Add a condition(添加条件)。
选择 More 图标(... ), 然后选择 选择 Change to formula(更改为公式)。
在函数框中,选择 > 箭头,然后选择公式选项卡。
将 fx 框的内容替换为公式
Topic.bookingDate > (DateAdd (Now(), 14))
,然后选择插入。在 Condition 节点下,添加 Message 节点并输入消息“You eligible for a discount”。
在 All Other Conditions 节点下,添加 Message 节点并输入消息“抱歉,您没有资格享受折扣”。