共用方式為


使用 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 公式中使用變數之外,您還可以輸入常值。 若要在公式中使用常值,您必須以其類型對應的格式輸入該值。 下表列出資料類型以及其對應常值的格式。

類型​ 格式範例
字串 "hi""hello world!""copilot"
布林值 只有 truefalse
數字 15325.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 Blank()

常用 Power Fx 公式

下表列出了資料類型,以及用於該資料類型的對應 Power Fx 公式。

類型​ Power Fx 公式
字串 Text 函式
Concat 與 Concatenate 函數
Len 函式
Lower、Upper 與 Proper 函式
IsMatch、Match 和 MatchAll 函式
EndsWith 和 StartsWith 函式
Find 函式
Replace 與 Substitute 函數
布林值 Boolean 函式
And、Or 與 Not 函式
If 與 Switch 函式
數字 Decimal、Float 和 Value 函式
Int、Round、RoundDown、RoundUp 與 Trun 函數
記錄和資料表 Concat 與 Concatenate 函數
Count、CountA、CountIf 與 CountRows 函式
ForAll 函式
First、FirstN、Index、Last 和 LastN 函式
Filter、Search 與 LookUp 函式
JSON 函數
ParseJSON 函式
日期時間 Date、DateTime 和 Time 函式
DateValue、TimeValue 和 DateTimeValue 函式
Day、Month、Year、Hour、Minute、Second 和 Weekday 函式
Now、Today、IsToday、UTCNow、UTCToday 和 IsUTCToday 函式
DateAdd、DateDiff 和 TimeZoneOffset 函式
Text 函式
Blank Blank、Coalesce、IsBlank 和 IsEmpty 函式
Error、IfError、IsError 和 IsBlankOrError 函式

使用 Power Fx 設定變數

在此範例中, Power Fx 表示式以大寫字母存儲和輸出客戶的名稱。

  1. 建立主題並新增問題節點。

  2. 輸入訊息中,輸入「您叫什麼名字?」。

  3. 識別下方,選取實體人員名稱

  4. 選取將回覆另存為底下的方塊,然後選取變數 Var1,並將其命名為 customerName

  5. 問題節點下方,選取 +,然後選取設定變數值

  6. 選取設定變數底下的方塊,然後選取建立新變數,並將其命名為 capsName

  7. 目標值方塊中,選取 > 箭頭,然後選取公式索引標籤。

  8. fx 方塊中,輸入 Upper(Text(Topic.customerName)),然後選取插入

    [設定變數] 節點中 Power Fx 公式的螢幕擷取畫面,其中反白顯示 [公式] 索引標籤。

  9. 問題節點下方選取 +,然後選取傳送訊息

  10. 輸入「你好」,選擇 {x},然後選擇 capsName

    已定義訊息的訊息節點的螢幕擷取畫面。

使用 Power Fx 公式做為條件

若要評估更複雜的運算式,請設定條件節點以使用 Power Fx 公式。

在此示例中,專員確定預訂日期是否符合折扣條件。 為了進行判斷,它會檢查客戶提供的預約日期是否距目前日期 14 天或更久。

  1. 建立主題並新增問題節點。

  2. 輸入訊息,輸入「預訂日期?」。

  3. 識別下方,選取實體日期和時間

  4. 選取將回覆另存為底下的方塊,然後選取變數 Var1,並將其命名為 bookingDate

    問題節點的螢幕擷取畫面,其中已選擇日期和時間實體,並已設定變數。

  5. 選取問題節點下方的新增節點圖示 ,然後選取新增條件

  6. 選擇條件節點的更多圖示 (),然後選取變更為公式

  7. 函數方塊中,選取 > 箭頭,然後選取公式索引標籤。

  8. fx 方塊的內容取代為公式 Topic.bookingDate > (DateAdd (Now(), 14)),然後選取插入

  9. 條件節點下,新增訊息節點並輸入訊息「您可享有折扣」。

  10. 所有其他條件節點下,新增訊息節點並輸入訊息「抱歉,您無法享有折扣」。

    條件 Message 節點的螢幕截圖。