フローで行のリストを使用する

行の一覧 アクションを使用して、構造化クエリで Microsoft Dataverse から一度に複数の行を取得します。

行の一覧を取得する

次の手順に従って、行を一覧表示 アクションをフローに追加して、Dataverse の アカウント テーブルから 最大 5000 アカウント を返します。

Power Automate では、新しいデザイナーまたは従来のデザイナーのいずれかを使用して、クラウド フローを構成できます。 手順はどちらのデザイナーでも似ています。 事例付きの詳細は、新しいデザイナーとクラシックなデザイナーの違いを見分けるをご参照ください。

  1. アクション ペインで、プラス記号 (+) >アクションの追加 を選択します。
  2. アクションの追加 画面で、検索 フィールドに 行の一覧表示 と入力します。
  3. Microsoft Dataverse で、リスト行 (プレビュー) を選択します 。
  4. 左側の パラメーター タブで、テーブル名 ドロップダウン メニューから アカウント を選択します。
  5. (<<) を選択して画面を閉じます。

5,000 行を超える要求を行うには、ページネーションをオンにします

クエリから 5000 行を超える行を自動的に取得するには、設定 から ページ付け 機能をオンにします。

ページネーションを設定した場合、行数が設定したしきい値を超えると、応答には次の一連の行を要求する @odata.nextLink パラメーターは含まれません。 応答に次の行セットを要求するために使用できる @odata.nextLink パラメーターが含まれるように、改ページを無効にします。 使用方法については、スキップ トークンをご覧ください。

一般的なサービスを保証するために、コンテンツ スループットの制限 と メッセージ サイズの制限 が適用されます。

  1. List rows カードを選択します。

  2. 左側のペインで、設定 タブ >ネットワーキング を選択します。

  3. まだオンになっていない場合は、ページネーション のスライダーを オン にします。

  4. しきい値で、要求された行の最大数を入力します。 構成可能な最大しきい値は 100,000 です。

    内部的には、この数値は規定のページサイズの増分で四捨五入されます。 たとえば、ページ サイズが 5,000 の場合、7,000 と入力すると、返される行数は 10,000 になります。

詳細オプション

[行の一覧表示] アクションの詳細オプションを使用すると、クエリの結果を並べ替え、フィルター処理、並べ替え、拡張できます。

アクション構成ウィンドウでオプションを設定します。

  1. オプションにアクセスするには、行のリスト化 カードを選択します。

  2. [ パラメーター ] タブで、[詳細パラメーター] ドロップダウン メニューで 詳細 オプションを選択します。

    「構成」アクション ペインの「行のリスト」アクションの詳細オプションのスクリーンショット。

完全なメタデータを返す

この設定は、テーブルからすべての列を読み込むか、パフォーマンスを向上させるために、重要な列のみを読み込むかを制御します。 設定しない場合、フローで動的なコンテンツまたは必要な式が使用されている場合、アクションは完全なメタデータを自動的に返します。

列の選択

Account テーブルの場合は name,createdon,preferredcontactmethodcode,emailaddress1,telephone1 のような、返される列名をコンマ区切りで入力します。

行のフィルター

このフィールドを使用して OData スタイルのフィルター式を定義し、Dataverse が返す行セットを絞り込みます。たとえば、createdon ge 2021-01-01T00:00:00-00:00 が 2021 年以降の行に対する などです。

行をフィルター して、フィルター クエリ 式を作成する方法について説明します。

>、#、+などの特定の文字を、URL でエンコードされた同等の文字に置き換えます。 詳細については、「 URL エンコードの特殊文字」を参照してください。

重要

API を直接使用する場合にのみ適用されるため、フィルター式に文字列 $filter= を含めることはできません。

並べ替え順

このフィールドを使用して、 name descなど、項目が返される順序を定義する OData スタイルの式を定義します。 asc または desc 接尾辞を使用して、それぞれ昇順または降順を示します。 既定の順序は昇順です。

クエリの展開

このフィールドを使用して、Dataverse が関連テーブルから返すデータを定義する OData スタイルの式を指定します。たとえば、アカウントの primarycontactid を使用して応答の ID contactid を持つ関連連絡先からフルネーム列を取得するprimarycontactid($select=contactid,fullname)などです。

拡張クエリで使用できるナビゲーション プロパティには、次の 2 種類があります。

  1. 単一値 ナビゲーション プロパティは、多対一のリレーションシップをサポートし、別のテーブルへの参照を設定できる検索列に対応します。

  2. コレクション値を持つナビゲーション プロパティは、一対多または多対多のリレーションシップに対応します。

ナビゲーション プロパティ名のみを含める場合、関連する行のすべてのプロパティが表示されます。 詳細については、OData を使用してテーブルを結合する を参照してください。

フロー ステップで使用するには、[ クエリの展開 ] フィールドに次の OData 式を入力します: primarycontactid(contactid,fullname)。 各 取引先企業 の primarycontactid に対する contactid 列と fullname 列を取得する方法です。

行数

[行数] 設定を使用して、Dataverse から返す行数を指定します。

XML クエリの取得

現時点では、FetchXML クエリで行の一覧表示アクションを使用する場合、集計クエリを使用することはできません。 ただし、 distinct 演算子を使用することもできます。

Dataverse スタイルの FetchXML クエリを使用すると、カスタム クエリをより柔軟に構築できます。 これらのクエリは、複数の関連テーブルがあるテーブルを操作する場合や、改ページ処理を処理する場合に便利です。 次のスクリーンショットは、FetchXML の使用方法を示しています。

重要

改ページ位置の設定では、FetchXML クエリはサポートされていません。 5,000 行を超える行を要求するには、 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>

distinct演算子は、現在、List rows アクションからの FetchXML クエリでは直接サポートされていませんが、共用体関数を使用して重複する行を削除できます。 たとえば、Select アクションを使用すると、List 行接続の応答を必要な特定の配列形式に変換し、式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

エラスティック テーブルのデータを取得するときに partitionId を指定します。 詳細については、エラスティック テーブルのパーティション分割と水平スケーリング を参照してください。