在流程中使用資料列清單
使用清單資料列動作可透過結構化查詢從 Microsoft Dataverse 中一次擷取多個資料列。
取得資料列清單
按照以下步驟,將清單資料列動作新增至流程中,以從 Dataverse 中的帳戶資料表傳回多達 5000 個帳戶。
注意
Power Automate 使用經典的雲端流程設計工具或帶有 Copilot 的雲端流程設計工具。 若要確定您使用的是哪個設計工具,請移至了解具有副手功能的雲端流程設計工具中的附註區段。
- 選取 + 新步驟,以將動作新增至流程。
- 在選擇作業卡片的搜尋連接器和動作搜尋方塊中輸入列出資料列。
- 選取 Microsoft Dataverse 以篩選搜尋結果,以僅顯示 Microsoft Dataverse 的動作和觸發程序。
- 選取清單資料列。
- 從資料表名稱清單中,選取帳戶資料表。
- 保存並執行您的流程,以確認傳回的資料列不超過 5,000。
打開分頁以要求超過 5000 個資料列
若要自動從查詢中取得 5,000 個以上的資料列,請開啟設定中的分頁功能。
當頁碼標註已設定且列數超過設定的閾值時,回覆將不包括 @odata nextLink 參數來要求下一組列。 關閉頁碼標註,這樣回覆將包含 @odata nextLink 參數,以用來要求下一組列。 請移至跳過權杖來了解使用方法。
這將套用內容輸送量限制和訊息大小限制以確保提供一般服務保證。
在清單資料列卡片的右上角,選取功能表 (...)。
選取設定。
如果尚未開啟分頁滑桿,請將其移至開啟位置。
在閾值中,輸入要求的最大列數。 最大可設定的閾值為 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"。 分別使用 asc 或 desc 尾碼指示遞增或遞減順序。 預設順序為遞增。
展開查詢
用於指定 OData 樣式的運算式,該運算式定義 Dataverse 從相關資料表傳回的資料,例如 primarycontactid($select=contactid,fullname)
,以使用帳戶的 primarycontactid 來擷取回覆中識別碼為 contactid 的相關連絡人全名資料行。
您可以在展開查詢中使用兩種類型的導覽屬性:
單一值導覽屬性對應至查詢資料行,支援多對一關聯並可讓您設定另一個資料表的參考。
集合值導覽屬性對應至一對多或多對多關聯。
如果您僅包含導覽屬性的名稱,則會收到相關資料列的所有屬性。 若要了解更多資訊,請參閱使用查詢擷取相關資料表資料列。
若要在流程步驟中使用,請在展開查詢欄位 primarycontactid(contactid,fullname)
輸入此 Odata 運算式。 這就是取得每個帳戶 primarycontactid 的 contactid 和 fullname資料行的方法。
資料列計數
用於表示 Dataverse 要傳回的特定資料列數。 以下範例顯示如何要求 10 個資料列。
擷取 Xml 查詢
對 查詢使用「 清單行 」操作時,當前不支援聚合查詢 FetchXML 。 但是,支援 distinct 運算子。
使用 a Dataverse 樣式 FetchXML 查詢,這樣可以更靈活地生成自定義查詢。 當您使用具有多個相關資料表的資料表或處理分頁時,這些查詢可能很有用。 以下螢幕截圖顯示了如何使用 FetchXML。
在擷取 XML 查詢欄位輸入以下內容。
由於當前在「列出行」操作的查詢中 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 的選項。 如要深入了解,請參閱存取資料表資料時使用儲存分頁提高效能。