分享方式:


在流程中使用資料列清單

使用清單資料列動作可透過結構化查詢從 Microsoft Dataverse 中一次擷取多個資料列。

取得資料列清單

按照以下步驟,將清單資料列動作新增至流程中,以從 Dataverse 中的帳戶資料表傳回多達 5000 個帳戶

注意

Power Automate 使用經典的雲端流程設計工具或帶有 Copilot 的雲端流程設計工具。 若要確定您使用的是哪個設計工具,請移至了解具有副手功能的雲端流程設計工具中的附註區段。

  1. 選取 + 新步驟,以將動作新增至流程。
  2. 選擇作業卡片的搜尋連接器和動作搜尋方塊中輸入列出資料列
  3. 選取 Microsoft Dataverse 以篩選搜尋結果,以僅顯示 Microsoft Dataverse 的動作和觸發程序。
  4. 選取清單資料列
  5. 資料表名稱清單中,選取帳戶資料表。
  6. 保存並執行您的流程,以確認傳回的資料列不超過 5,000。

打開分頁以要求超過 5000 個資料列

若要自動從查詢中取得 5,000 個以上的資料列,請開啟設定中的分頁功能。

當頁碼標註已設定且列數超過設定的閾值時,回覆將不包括 @odata nextLink 參數來要求下一組列。 關閉頁碼標註,這樣回覆將包含 @odata nextLink 參數,以用來要求下一組列。 請移至跳過權杖來了解使用方法。

這將套用內容輸送量限制訊息大小限制以確保提供一般服務保證。

  1. 清單資料列卡片的右上角,選取功能表 (...)。

  2. 選取設定

  3. 如果尚未開啟分頁滑桿,請將其移至開啟位置。

  4. 閾值中,輸入要求的最大列數。 最大可設定的閾值為 100,000。

    在內部,此數字以預設頁面大小的增量四捨五入。 例如,如果該頁面大小為 5,000,而您輸入 7,000,則傳回的資料列數為 10,000。

進階選項

清單資料列動作的進階選項可讓您排序、篩選、排列及擴充查詢結果。

您可以直接在列出資料列卡片上設定進階選項。 若要查看選項,請選取顯示進階選項。 選取顯示進階選項後,其名稱將變更為隱藏進階選項

[列出資料列] 卡片中進階選項的螢幕擷取畫面。

選取資料行

輸入要傳回的資料行清單 (以逗號分隔),例如帳戶資料表的 "name,createdon,preferredcontactmethodcode,emailaddress1,telephone1"。

篩選資料列

用於定義 OData 樣式的篩選運算式,以縮小 Dataverse 傳回的資料列集,例如對於 createdon 大於或等於 2021 年的資料列,為 "createdon ge 2021-01-01T00:00:00-00:00"。

了解如何使用標準篩選運算子查詢函數建構篩選查詢運算式。

某些字元,例如 &#+ 需要替換為其 URL 編碼的等效字元。 詳細資訊:URL 編碼特殊字元

重要

篩選運算式不能包含 $filter= 字串,因其僅適用於直接使用 API 的時候。

排序方式

用於定義 OData 樣式的運算式,該運算式定義傳回項目的順序,例如 "name desc"。 分別使用 ascdesc 尾碼指示遞增或遞減順序。 預設順序為遞增。

展開查詢

用於指定 OData 樣式的運算式,該運算式定義 Dataverse 從相關資料表傳回的資料,例如 primarycontactid($select=contactid,fullname),以使用帳戶的 primarycontactid 來擷取回覆中識別碼為 contactid 的相關連絡人全名資料行。

您可以在展開查詢中使用兩種類型的導覽屬性:

  1. 單一值導覽屬性對應至查詢資料行,支援多對一關聯並可讓您設定另一個資料表的參考。

  2. 集合值導覽屬性對應至一對多或多對多關聯。

如果您僅包含導覽屬性的名稱,則會收到相關資料列的所有屬性。 若要了解更多資訊,請參閱使用查詢擷取相關資料表資料列

若要在流程步驟中使用,請在展開查詢欄位 primarycontactid(contactid,fullname) 輸入此 Odata 運算式。 這就是取得每個帳戶 primarycontactidcontactidfullname資料行的方法。

資料列計數

用於表示 Dataverse 要傳回的特定資料列數。 以下範例顯示如何要求 10 個資料列。

擷取 Xml 查詢

查詢使用「 清單行 」操作時,當前不支援聚合查詢 FetchXML 。 但是,支援 distinct 運算子。

使用 a Dataverse 樣式 FetchXML 查詢,這樣可以更靈活地生成自定義查詢。 當您使用具有多個相關資料表的資料表或處理分頁時,這些查詢可能很有用。 以下螢幕截圖顯示了如何使用 FetchXML。

擷取 XML 查詢欄位輸入以下內容。

列出帳戶 FetchXML示例。

由於當前在「列出行」操作的查詢中 FetchXML 不直接支援非重複運算符, 因此可以使用聯合函數 刪除重複行。 例如,您可以使用選取動作,將清單列的回應轉換為您所需的特定陣列格式,然後建立一個帶有運算式 union(body(‘Select’),body(‘Select’))變數,以取得含有獨特列的陣列。

跳過權杖

由於 Power Automate 會套用 內容輸送量限制郵件大小限制,來確保一般服務保證,因此使用分頁來批次傳回較少量的資料列通常很有用,而不是使用預設的傳回資料表資料列的數量限制

如果您不使用分頁,則會套用 5000 列的預設頁面限制。

若要使用,請執行迴圈以剖析 JSON 回覆中的 @odata.nextLink 值、擷取跳過權杖,然後傳送其他要求,直到您已列出所需的列數為止。

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0  
Content-Length: 402  
Preference-Applied: odata.maxpagesize=3  
  
{  
   "@odata.context":"[Organization URI]/api/data/v9.1/$metadata#accounts(name)",
   "value":[  
      {  
         "@odata.etag":"W/\"437194\"",
         "name":"Fourth Coffee (sample)",
         "accountid":"7d51925c-cde2-e411-80db-00155d2a68cb"
      },
      {  
         "@odata.etag":"W/\"437195\"",
         "name":"Litware, Inc. (sample)",
         "accountid":"7f51925c-cde2-e411-80db-00155d2a68cb"
      },
      {  
         "@odata.etag":"W/\"468026\"",
         "name":"Adventure Works (sample)",
         "accountid":"8151925c-cde2-e411-80db-00155d2a68cb"
      }
   ],
   "@odata.nextLink":"[Organization URI]/api/data/v9.1/accounts?$select=name&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b8151925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520first%253d%2522%257b7D51925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20/%3E"
}

分割識別碼

用於在擷取 NoSQL 資料表的資料時指定 partitionId 的選項。 如要深入了解,請參閱存取資料表資料時使用儲存分頁提高效能