共用方式為


在流程中使用資料列清單

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

取得資料列清單

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

注意

  • Power Automate 使用傳統的雲流程設計工具或具有 Copilot 功能的新型新式設計工具。 若要確定您正在使用哪個設計工具,請前往探索雲流程設計工具中的附註部分。
  • 當您在傳統設計工具和新設計工具之間切換時,系統會要求您儲存流程。 在解決所有錯誤之前,您無法儲存並切換。
  1. 選取加號 (+) >新增動作
  2. 新增動作畫面的搜尋欄位中輸入列出資料列
  3. Microsoft Dataverse 底下,選取列出資料列 (預覽版)
  4. 在左邊的參數索引標籤中,選取資料表名稱下拉式功能表中的帳戶
  5. 選取 (<<) 以關閉畫面。

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

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

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

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

  1. 選取列出資料列卡片。

  2. 在左側窗格中,選取設定索引標籤>網路

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

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

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

進階選項

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

您可以在 [動作設定] 窗格中設定選項。

  1. 若要查看選項,請選取列出資料列卡片。

  2. 參數索引標籤中,選取新增參數下拉式功能表中的進階選項。

    [設定動作] 窗格中 [列出資料列] 動作的進階選項螢幕擷取畫面。

選取資料行

輸入要傳回的資料行清單 (以逗號分隔),例如帳戶資料表的 "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 運算子。

使用 Dataverse 樣式 FetchXML 查詢,讓您在建立自訂查詢時更具有靈活性。 當您使用具有多個相關資料表的資料表或處理分頁時,這些查詢可能很有用。 以下螢幕擷取畫面顯示如何使用 FetchXML。

帳戶資料表的 FetchXML 查詢範例:

<fetch count="10">
	<entity name="account">
		<attribute name="name" />
		<attribute name="preferredcontactmethodcode" />
		<attribute name="emailaddress1" />
		<attribute name="telephone1" />
   		<link-entity name="contact" to="primarycontactid" from="contactid">
      			<attribute name="fullname" />
		</link-entity>
		<filter> 
			<condition attribute="createdon" operator="ge" value="2021-01-01T00:00:00-00:00" />
		</filter>
		<order attribute="name" descending="true" />
	</entity>
</fetch>

因為目前不會從清單列動作的 FetchXML 查詢中直接支援獨立運算子,所以 union 函數可以用來移除重複的列。 例如,您可以使用選取動作,將清單列的回應轉換為您所需的特定陣列格式,然後建立一個帶有運算式 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 的選項。 如要深入了解,請參閱存取資料表資料時使用儲存分頁提高效能