使用 Power Fx 建立運算式

Note

本文說明由標準執行架構驅動的 Agent 或 Agent 流程中所使用的功能。

Power Fx 是一種低程式碼語言,使用類似 Excel 的公式。 使用 Power Fx 建立複雜的邏輯,使您的代理程式能夠操作資料。 例如,Power Fx 公式可以設定變數的值、剖析字串,或在條件中使用運算式。 欲了解更多資訊,請參閱 Power Fx 概述 與 公式參考。

Note

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 公式
String 文字功能
Concat 與 Concatenate 函數
Len 函數
Lower、Upper 與 Proper 函數
IsMatch、Match 與 MatchAll 函式
EndsWith 與 StartsWith 函數
尋找函數
替換與取代函數
布林值 布林函數
And、Or 與 Not 函數
If 和 Switch 函數
編號 小數、浮點與值函數
Int、Round、RoundDown、RoundUp 和 Trunc 函式
記錄和表格 Concat 與 Concatenate 函數
Count、CountA、CountIf 與 CountRows 函式
ForAll 函數
First、FirstN、Index、Last 和 LastN 函數
篩選、搜尋與查詢功能
JSON 函式
ParseJSON 函數
日期時間 Date、DateTime 和 Time 功能
DateValue、TimeValue 與 DateTimeValue 函式
日、月、年、時、分鐘、秒及平日功能
Now、Today、IsToday、UTCNow、UTCToday 和 IsUTCToday 函數
DateAdd、DateDiff 與 TimeZoneOffset 函式
文字功能
空白 空白、聚合、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. 在所有其他條件節點下,新增訊息節點並輸入訊息「抱歉,您無法享有折扣」。

    條件訊息節點的螢幕擷取畫面。