使用 Power Fx 创建表达式
Power Fx 是一种使用类似 Excel 的公式的低代码语言。 用于创建 Power Fx 允许代理操作数据的复杂逻辑。 例如,Power Fx 公式可以设置变量的值、解析字符串或在条件中使用表达式。 有关详细信息,请参阅 Power Fx 概述和公式参考。
备注
Copilot Studio 中的 Power Fx 公式使用美式计数法。 即,小数分隔符是一个句点或点,如 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 表达式以大写字母存储并输出客户的姓名。
创建主题并添加问题节点。
对于输入消息,请输入“您叫什么名字?”。
在识别下面,选择实体人员姓名。
选择将响应另存为下的框,然后选择变量
Var1
并将其命名为customerName
。在问题节点下,选择 +,然后选择设置变量值。
选中设置变量下的方框,然后选择新建,并将其命名为
capsName
。在目标值框中,选择 > 箭头,然后选择公式选项卡。
在 fx 框中,输入
Upper(Text(Topic.customerName))
,然后选择插入。在问题节点下,选择 +,然后选择发送消息。
输入“您好”,选择 {x},然后选择
capsName
。
使用 Power Fx 公式作为条件
若要评估更复杂的表达式,请设置条件节点以使用 Power Fx 公式。
在此示例中,代理确定预订日期是否符合折扣条件。 为此,它会检查客户提供的预订日期是否距当前日期相差 14 天或更长时间。
创建主题并添加问题节点。
对于输入消息,请输入 "Booking date?"。
在识别下面,选择实体日期和时间。
选择将响应另存为下的框,然后选择变量
Var1
并将其命名为bookingDate
。选择问题节点下方的添加节点图标,然后选择添加条件。
选择条件节点的更多图标 (…),然后选择更改为公式。
在函数框中,选择 > 箭头,然后选择公式选项卡。
将 fx 框的内容替换为公式
Topic.bookingDate > (DateAdd (Now(), 14))
,然后选择插入。在 Condition 节点下,添加 Message 节点并输入消息“You eligible for a discount”。
在所有其他条件节点下,添加一个消息节点,并输入消息“对不起,您没有资格享受折扣。”