共用方式為


連線至 Microsoft Dataverse

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

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

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

預設環境。

如果選取變更環境,則可以指定不同的環境,從該環境中拉出資料,而不是在目前環境中加入資料。

其他環境。

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

新環境。

可見度和存取

當您選取變更環境時,會顯示環境清單。 儘管您可能會在清單中看到一個環境,但該環境中的資訊安全角色控制著您可以在該環境中執行的工作。 例如,如果您沒有讀取權限,就無法在環境中查看資料表和記錄。

注意

應用程式設計師外部的應用程式詳細資訊窗格中列出的連接會顯示需要使用者同意的連接。 由於應用程式中使用的原生 Dataverse 連接不需要這項額外的同意,因此該清單中不會有原生連接。

Power Apps 資料類型對應

Microsoft Dataverse Connector 比 Dynamics 365 Connector 更健全與接近功能同位。 下表列出了 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] .是 .是 .是 .是 .是
篩選器 .是 .是 .是 .是 .是
First [7] .是 .是 .是 .是 .是
In (membership) [8] .是 .是 .是 .是 .是
In (substring) - .是 - - -
IsBlank [9] .是 .是 .是 .是
查閱 .是 .是 .是 .是 .是
搜尋 .是 -
分類 .是 .是 .是 .是 -
SortByColumns .是 .是 .是 .是 -
StartsWith - .是 - - -
加總,最小,最大,平均 [6] .是 - - -
  1. 包含算術運算式的數字 (例如,Filter(table, field + 10 > 100)) 不可委派。 語言和時區不可委派。 不支援強制將欄轉換成數字。 當某個數值在 Power Apps 中顯示為數字,但後端資料來源不是貨幣等簡單數字時,則不會委派該值。
  2. 不支援 Trim[Ends] 或 Len。 的確支援其他功能,例如 Left、Mid、Right、Upper、Lower、Replace、Substitute 等等。另外,委派不支援強制轉換,例如文字 (欄) 。
  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())

直接在 Power Fx 中呼叫 Dataverse 動作

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

作者可以使用非類型化物件欄位做為輸入和輸出。 例如,在輸入端,許多 Dataverse 動作都需要非類型化物件做為參數。 作者現在可使用 ParseJSON 將 Power Fx 記錄轉換成非類型化物件以傳遞這些引數。 在輸出端,對於返回非類型化物件的動作,您可以直接將 dot 放入返回的物件屬性中。 您必須強制轉換特定的值,才能在 Power Apps 中用於特定內容,例如標籤。

如果沒有這項功能,作者通常會使用 Power Automate 直接呼叫 Dataverse。 但是,直接從 Dataverse 呼叫 Power Fx 可提供明顯的效能優點 (和易用性),應該優先用於直接交易讀取和更新。 如果您有一個用於 Power Automate 調用 Dataverse 操作的應用程式,則會看到一個橫幅,建議您改用這種直接操作方法。

使用非類型化欄位並不僅限於 Dataverse。 它適用於所有類型的連接器,並提供基本的臨機操作動態連接器支援。

注意

  1. 不完全支援 Power Fx 命令中的 DV 動作 (適用於任何使用參數的特定動作呼叫)。
  2. 我們不支援直接引用 Entity 或 Entity collections。
  3. 對於形成巢狀 (深度為 2 層或更多層) 的物件類型參數,PowerApps 將第二層屬性視為必要屬性。

啟用存取 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 動作是資料表的對等層級,需要環境語言物件的上層範圍。 您環境中的所有動作都可用 – 系統層級和自訂。 未繫結動作和繫結動作都可用。 刪除了 2 級呼叫限制。

使用 Dataverse 動作。

如需如何在公式中使用 Dataverse 動作的詳細資料,請參閱使用非類型化和動態物件

為 bound/unbound 操作傳遞 Entity 類型參數

若要傳遞 Dataverse 動作的實體類型參數,請先將實體類型參數值設定為變數。 此外,請確保填寫任何缺失值,例如 *activityId 。 這對於在 Swagger 中沒有定義類型的實體尤其重要。

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

其他環境中的重新命名、重新整理和動作

您可以選擇省略符號並選取 [重新命名] 來重新命名環境。 如果您在 Dataverse 中加入新的 Dataverse 動作,並需要 Power Apps 來查看該動作,您可以選擇 [重新整理]。 如果您需要在不同的環境中使用某項動作,則必須先切換環境,進入其中後,即搜尋「環境」、選取該環境,並將其新增至您的應用程式。