在流程中使用資料列清單
使用清單資料列動作可透過結構化查詢從 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 運算子。
使用 Dataverse 樣式 FetchXML 查詢,讓您在建立自訂查詢時更具有靈活性。 當您使用具有多個相關資料表的資料表或處理分頁時,這些查詢可能很有用。 以下螢幕擷取畫面顯示如何使用 FetchXML。
在擷取 XML 查詢欄位輸入以下內容。
因為目前不會從清單列動作的 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 的選項。 如要深入了解,請參閱存取資料表資料時使用儲存分頁提高效能。