共用方式為


連線至 Microsoft Dataverse

將您的業務資料安全地儲存在 Dataverse 中,並在 Power Apps 中建置豐富的應用程式,以便使用者可以管理該資料。 您也可以將這些資料整合到包括 Power Automate、Power BI 和 Dynamics 365 資料的解決方案。

根據預設,應用程式會連線至 Dataverse 資料表的目前環境。 如果您的應用程式移到另一個環境,連接器會連線到新環境的資料。 此行為適用於使用單一環境或遵循應用程式生命週期管理 (ALM) 程序從開發移至測試,然後移至生產環境的應用程式。

當您從 Dataverse 新增資料時,請變更環境,然後選取一或多個資料表。 根據預設,應用程式連線到目前環境中的資料。

預設環境。

如果您選取 [變更環境],請指定要從中提取資料的不同環境,而不是目前環境,或除了目前環境之外。

其他環境。

所選環境的名稱會顯示在資料表清單下方。

新環境。

可見度和存取

當您選取 [ 變更環境] 時,您會看到環境清單。 即使您在清單中看到環境,環境中的資訊安全角色也會控制您可以在那裡執行的動作。 例如,如果您沒有讀取權限,則無法看到環境中的資料表和記錄。

注意

應用程式設計工具外部應用程式詳細資料窗格中列出的連線會顯示需要使用者同意的連線。 由於應用程式中使用的原生 Dataverse 連線不需要額外的同意,因此原生連線不在該清單中。

Power Apps 資料類型對應

Microsoft Dataverse 連接器比 Dynamics 365 連接器更強大,並且正在接近功能同位。 下表列出 Power Apps 中的資料類型,以及它們如何對應至 Dataverse 中的資料類型。

Power Apps Microsoft Dataverse
選擇 選項,是/否
DateTime 日期時間,日期與時間,只有日期
影像 影像
號碼 浮點數,貨幣,小數,期間,語言,時區,整數
文字 電子郵件,多行文字,電話,文字,文字區域,股票看板代號,URL
GUID 唯一識別碼

Dataverse 的 Power Apps 可委派函數和作業

對於指定的資料類型,這些 Power Apps 作業可以委派給 Dataverse 進行處理,而不是在 Power Apps 中本地處理。

項目 數字 [1] 文字 [2] 選擇 日期時間 [3] GUID
<, <=, >, >= .是 .是 .是 -
=、<> .是 .是 .是 .是 .是
和/或/不是 .是 .是 .是 .是 .是
CountRows [4] [5],CountIf [6] .是 .是 .是 .是 .是
篩選器 .是 .是 .是 .是 .是
第一個 [7] .是 .是 .是 .是 .是
在(會員)[8] .是 .是 .是 .是 .是
In (子字串) - .是 - - -
是空白 [9] .是 .是 .是 .是
查閱 .是 .是 .是 .是 .是
搜尋 .是 -
分類 .是 .是 .是 .是 -
SortByColumns .是 .是 .是 .是 -
StartsWith - .是 - - -
加總,最小,最大,平均 [6] .是 - - -
更新如果/刪除如果 [10] .是 - - -

註釋

  1. 具有算術運算式的數值 (例如 Filter(table, field + 10 > 100)) 無法委派。 語言和時區不可委派。 不支援將資料行轉換成數字。 如果值在 Power Apps 中顯示為數字,但後端資料來源不是簡單的數字,例如貨幣,則不會委派它。
  2. 不支援 Trim[Ends] 或 Len。 支援其他功能,如左、中、右、上、下、替換和替換。 此外,委派不支援 Text(column) 等轉換。
  3. DateTime 可委派,DateTime 函數 Now() 和 Today() 除外。
  4. Dataverse 上的 CountRows 會使用快取值。 對於記錄計數低於 50,000 筆記錄的非快取值,請使用 CountIf(table, True)
  5. 對於 CountRows,請確保使用者擁有取得資料表總計的適當權限。
  6. 所有彙總函數都限制為 50,000 列的集合。 如有需要,請使用「篩選器」功能來選取 50,000 列。 檢視不支援彙總函式。
  7. 不支援 FirstN 函式。
  8. In運算子受 Dataverse 的 15 個資料表查詢限制的約束。
  9. 支援比較。 例如:Filter(TableName, MyCol = Blank())
  10. UpdateIf 和 RemoveIf 在本機運作,但模擬委派限制為 500 或 2,000 筆記錄。 他們陸續將記錄降低到非授權 500 或 2,000 條記錄限制之外。 會收集符合 If 條件的記錄。 一般而言,最多會個別收集 500 或 2,000 筆記錄,然後每次執行變更。 不過,如果現有的本端資料快取很大,則可以更新更多記錄,因為函式可以存取更多記錄進行評估。

直接在 Power Fx 中呼叫 Dataverse 動作

作為 Power Fx 語言的一部分,您現在可以在公式中直接叫用 Dataverse 動作。 同時支援未繫結動作和繫結動作。 將 Power Fx Environment 語言物件新增至您的應用程式以使用 Dataverse 動作。

您可以使用輸入和輸出的動態欄位。 對於輸入,許多 Dataverse 動作都需要動態值作為引數。 使用 ParseJSON 將 Power Fx 記錄轉換為動態值,以傳遞這些引數。 對於輸出,如果動作傳回動態值,只需使用點表示法來存取物件屬性即可。 轉換特定值以在 Power Apps 中使用,例如在標籤中。

在此功能之前,您經常使用 Power Automate 直接呼叫 Dataverse。 從 Power Fx 呼叫 Dataverse 可為您提供顯著的效能優勢,並且更易於使用,因此請使用此方法進行直接交易讀取和更新。 如果您的應用程式使用 Power Automate 呼叫 Dataverse 動作,您會看到一個橫幅,建議您改用此直接動作方法。

使用動態欄位不僅限於 Dataverse。 此功能適用於所有類型的連接器,並提供基本的臨機操作動態結構描述支援。

注意

  1. Power Fx 命令不完全支援 DV 動作 (適用於任何具有參數的動作呼叫)。
  2. 不支援實體或實體集合的直接參考。
  3. 對於巢狀兩個或多個層級深度的物件類型參數,Power Apps 會視需要將第二層屬性視為需要。

啟用存取 Microsoft Dataverse 動作

在新的應用程式中,自動啟用此功能。 對於您先前建立的應用程式,請啟用對 Dataverse 動作的存取權。

對於較舊的應用程序,請打開畫布應用程序進行編輯。 移至 設定>即將推出的功能>已淘汰,然後啟用 Dataverse 動作。

將 Power Fx 環境語言物件新增至您的應用程式

若要在 Power Fx 公式中使用 Dataverse 動作,請選取 新增資料,搜尋 環境,然後將其新增至您的應用程式。

在新增資料窗格中搜尋 Power Fx 環境物件的螢幕擷取畫面。

此步驟將 Power Fx Environment 語言物件新增至您的應用程式。

Power Fx 環境物件作為應用程式中資料來源的螢幕擷取畫面。

存取 Dataverse 動作

將 Power Fx Environment 物件新增至應用程式後,請新增至 Environment 公式,然後對動作使用點表示法來存取 Dataverse 動作。

在公式中使用 Power Fx 環境物件的螢幕擷取畫面。

未繫結的 Dataverse 動作與資料表處於同一層級,並且需要 環境 語言物件的父範圍。 您環境中的所有動作都可用,包括系統和自訂。 未繫結動作和繫結動作都可用。 兩級通話限制被刪除。

使用連線至按鈕的 Dataverse 動作的螢幕擷取畫面。

如需如何在公式中使用 Dataverse 動作的詳細資訊,請參閱 使用動態值

傳遞繫結和未繫結動作的實體類型引數

若要傳遞 Dataverse 動作的實體類型引數,請將實體類型引數值設定為變數。 請務必填入任何遺漏值,例如 *activityId。 此步驟對於在 Swagger 中未定義類型的實體很重要。

Set(MyArgVar, {
  name: First(systemUser).name,
  Id: First(systemUser).Id
  ... })

重新命名、重新整理及使用其他環境中的動作

若要重新命名環境,請選取省略符號,然後選取 [重新命名]。 如果您在 Dataverse 中新增 Dataverse 動作,並希望 Power Apps 看到它,請選取「重新整理」。 如要在不同的環境中使用動作,請變更環境,然後搜尋「環境」,選取該動作,然後將其新增至您的應用程式。