[本主題是發行前版本文件,並可能在未來變更。]
在 Microsoft Dataverse 中建立並使用可重複使用的函數。 函數使用 Power Fx 在 Dataverse 中執行在伺服器端執行的一組特定命令。
重要
- 這是預覽功能。
- 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
必要條件
Power Platform 環境中的系統自訂員資訊安全角色成員資格。
在解決方案中建立函數
- 前往 Power Apps,然後在左側導覽窗格中選擇解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 開啟您想要建立函數的解決方案。
- 在命令列上,選擇 New>Automation>Function。
- 在出現的新功能側面板中輸入以下資訊。
- 為您的功能提供顯示名稱和描述。
- 選擇新輸入參數和/或新輸出參數,然後為參數提供名稱和資料類型。 視需要新增其他輸入和輸出參數。
- 在資料表參考清單中,您可以選擇資料表。 您可以使用資料收集函數 (例如 Filter() 和 LookUp()) 來參考您選擇的 Dataverse 表。
- 在公式方塊中輸入 Power Fx 運算式。
- 選取儲存。
- 測試功能。
透過名稱參考公式中的輸入參數。
提及輸出參數時必須包含在大括弧內,例如 { Out: "Return value" }。
提示
- 注意公式框中的智慧感知。 劃紅色底線的表示無效。 波浪形黃色表示您的邏輯可能會受委派限制的影響。 使用可委派的功能,避免委派問題。
- 展開進階選項來查看您的架構名稱。
範例函數
本節提供了一些範例函數。
計算兩個整數的和
輸入顯示名稱 (例如 new_calculateSum) 和描述。
新增兩個輸入參數 x 和 y (都是整數資料型別) 和一個輸出參數 z (整數資料型別)。
在公式方塊中輸入公式:
{ z:x+y }測試功能。
在文章表中新增標題
- 建立兩個輸入參數 title 和 url (都是字串資料類型) 和一個輸出變數 message (資料類型為字串)。
- 在資料表參考下拉式功能表中選擇知識聯合文章表。
- 在公式方塊中輸入公式:
Collect('Knowledge Federated Articles',
{
Title: title,
URL: url
}
);
{
message: "New Article title added: " & title
}
驗證輸入的字串是否包含您選擇的字串
- 建立一個輸入參數 DocumentTextInput (字串資料類型) 和一個名為 result (字串資料類型) 的輸出變數。
- 在公式方塊中輸入公式:
{
result: If("Confidentiality" in DocumentTextInput && "Dispute Resolution" in DocumentTextInput && "Governing Law" in DocumentTextInput && "Termination" in DocumentTextInput,
"Document is compliant.",
"Document is missing one or more compliance clauses."
)
}
計算飯店住宿價格
- 建立六個輸入參數:nights、rooms、tax、discount、roomservice、ratepernight (都是字串資料型別) 和一個輸出變數 price (資料型別為浮點數)。
- 在公式方塊中輸入公式:
{
price: ((nights*rooms*ratepernight)*(1+(tax/100))*(1-(discount/100)))+roomservice
}
更多函數範例
有關更多範例函數,請前往範例函數 (預覽版)。
編輯、測試或刪除函數
編輯函數
- 在功能區中選擇您的功能。
- 在命令列上選取編輯。
- 修改您的公式,然後儲存。
測試函數
- 在函數區域中選擇該函數。
- 在命令列上選擇測試。
- 為函數中定義的輸入參數提供值,然後選擇播放。
成功的測試將傳回 OData 回應,其中包括組織 URI、函數名稱以及輸出參數和值等資訊。
提示
使用輸出參數以協助驗證預期的行為與結果。 否則,您在測試時只能觀察到成功或失敗。
刪除函數
重要
在預覽期間,請不要從解決方案區域刪除您的功能,因為這可能會導致出現孤立元件。 應透過前往左側導覽窗格上的 Power App (make.powerapps.com)>功能來刪除功能。
- 在左側導覽窗格中選擇功能,然後選擇您的功能。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 在命令列上選取刪除。