フローで行のリストを使用する
行の一覧 アクションを使用して、構造化クエリで Microsoft Dataverse から一度に複数の行を取得します。
行の一覧を取得する
次の手順に従って、行を一覧表示 アクションをフローに追加して、Dataverse の アカウント テーブルから 最大 5000 アカウント を返します。
注意
- Power Automate は、クラシック クラウド フロー デザイナー、または Copilot 機能を備えた新しいモダン デザイナーを使用します。 使用しているデザイナーを特定するには、クラウド フロー デザイナーについて の 注 セクションに移動します。
- クラシック デザイナーとモダン デザイナーを切り替えると、フローを保存するように求められます。 すべての エラー が解決されるまで、保存と切り替えることはできません。
- アクション ペインで、プラス記号 (+) >アクションの追加 を選択します。
- アクションを追加する シーンで、検索 フィールドに 行の一覧化 を入力します。
- Microsoft Dataverse で、リスト行 (プレビュー) を選択します 。
- 左側の パラメーター タブで、テーブル名 ドロップダウン メニューから アカウント を選択します。
- (<<) を選択して画面を閉じます。
5000 行以上をリクエストするには、ページ付けをオンにします
クエリから 5000 行を超える行を自動的に取得するには、設定 から ページ付け 機能をオンにします。
ページ割り付けが設定されていて、行数が構成されたしきい値の数を超えると、要求には次の行セットを要求するための @odata.nextLink パラメーターが含まれません。 ページ割り付けをオフにして、応答に次の行セットを要求するために使用できる @ odata.nextLinkパラメーターが含まれるようにします。 使用方法については、スキップ トークンをご覧ください。
コンテンツ スループットの制限 および メッセージ サイズの制限 が一般的なサービス保証を保証するために適用されます。
行のリスト化 カードをを選択します。
左側のペインで、設定 タブ >ネットワーキング を選択します。
まだオンになっていない場合は、ページ付け スライダーに オン に配置します。
しきい値で、要求された行の最大数を入力します。 構成可能な最大しきい値は 100,000 です。
内部的には、この数値は規定のページサイズの増分で四捨五入されます。 たとえば、そのページサイズが 5,000 で、7,000 と入力すると、返される行数は 10,000 になります。
詳細オプション
行を一覧表示アクションの詳細オプションを使用すると、クエリの結果を並べ替え、フィルタリング、配置、および拡張できます。
アクション設定ペインでオプションを設定できます。
オプションにアクセスするには、行のリスト化 カードを選択します。
パラメーター タブで、新しいパラメーターの追加 ドロップダウン メニューから詳細オプションを選択します。
列を選択する
取引先企業テーブルの "name,createdon,preferredcontactmethodcode,emailaddress1,telephone1" のように、返す列のリストをカンマで区切って入力します。
行のフィルター
OData 形式のフィルター式を定義して、Dataverse が返す行のセットを絞り込みます。例: 「createdon ge 2021-01-01T00:00:00-00:00」では、2021 年またはそれ以降の createdon を含む行を返します。
標準のフィルター演算子 およびクエリ関数 を使用してフィルター クエリ式を作成する方法を学びます。
&、#、+ などの特定の文字は、URL エンコードされた同等のものに置き換える必要があります。 詳細: URL エンコード特殊文字
重要
API を直接使用する場合にのみ適用されるため、フィルター式に文字列 $filter= を含めることはできません。
並べ替え順
「name desc」など、項目が返される順序を定義する OData スタイルの式を定義するために使用します。 asc または desc 接尾辞を使用して、それぞれ昇順または降順を示します。 既定の順序は昇順です。
クエリの展開
Dataverse が関連テーブルから返すデータを定義する OData 形式の式を指定するために使用します。たとえば、primarycontactid($select=contactid,fullname)
はアカウントの primarycontactid を使用して、レスポンス内の contactid という ID を持つ関連コンタクトから fullname カラムを取得します。
クエリの展開で使用できるナビゲーション プロパティには 2 つの種類があります:
単一値 ナビゲーション プロパティは、多対 1 関係をサポートし、別のテーブルへの参照を設定できる検索列に対応します。
コレクション値 ナビゲーション プロパティは 1 対多または多対多の関連付けに対応します。
ナビゲーション プロパティ名のみを含める場合、関連する行のすべてのプロパティが表示されます。 詳細については、クエリで関連するテーブル行を取得する を参照してください。
フロー ステップで使用するには、展開クエリ フィールドに次の Odata 式を入力します: primarycontactid(contactid,fullname)
。 この例では、各 取引先企業の primarycontactid の contactid 列と fullname 列を取得する方法を示しています。
行数
Dataverse が返す行数を指定します。 これは、10 行を要求する方法を示す例です。
Fetch Xml クエリ
集計クエリ は、FetchXML 条件と共に 行の一覧表示 アクションを使用した時のサポートは現在されていません。 ただし、個別の演算子はサポートされています。
Dataverse-style 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 では、一般的なサービス保証を確保するために、コンテンツのスループット制限や メッセージのサイズ制限 を適用しているため、既定で 返されるテーブル行数の制限 ではなく、ページ割り付けを使用してより少ない数の行を一括して返すことが有効な場合があります。
ページ割り付けを使用しない場合は、デフォルトのページ制限である 5,000 行が適用されます。
これを使用するには、ループを実装して 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"
}
パーティション ID
NoSQL テーブルのデータを取得する際に partitionId を指定するオプションです。 詳細については、テーブルデータにアクセスするときにストレージ パーティションを使用してパフォーマンスを向上させる を参照してください。