定義済みクエリの取得と実行

Microsoft Dataverse は、すべてのユーザーが利用できるシステム ビューを管理者が作成する方法を提供します。 個々のユーザーはアプリケーションで再利用できるように詳細検索クエリを保存できます。 これらはどちらも、Web API を使用して取得して実行できる定義済みクエリです。

注意

OData 構文を使用するクエリとは異なり、事前定義されたクエリまたは fetchXml から返されるデータは、null 値を持つプロパティを返しません。 値が null の場合、プロパティは結果に含まれません。

OData 構文を使用してクエリが返されると、レコードには次のような null 値を持つプロパティが含まれます。

{
    "@odata.etag": "W/\"46849433\"",
    "name": "Contoso, Ltd. (sample)",
    "accountnumber": null,
    "accountid": "7a4814f9-b0b8-ea11-a812-000d3a122b89"
}

事前定義されたクエリまたは FetchXml を使用して取得した場合、同じレコードには accountnumber プロパティが含まれません。これは、次のように null であるためです。

{
    "@odata.etag": "W/\"46849433\"",
    "name": "Contoso, Ltd. (sample)",
    "accountid": "7a4814f9-b0b8-ea11-a812-000d3a122b89"
}

定義済みクエリ

Dataverse では、ここに示す 2 種類のクエリを定義、保存、および実行できます。

クエリの種類 内容
保存済みクエリ テーブル (エンティティ) のシステム定義ビュー。 このビューは savedquery EntityType に格納されます。 詳細: テーブル ビューのカスタマイズ
ユーザー クエリ テーブル (エンティティ) に対してユーザーが保存した高度な検索を検索します。 このビューは userquery EntityType に格納されます。 詳細: UserQuery (保存されたビュー) テーブル

これらの両方の種類のエンティティのレコードには、返すデータに対する FetchXML 定義が含まれています。 それぞれのエンティティの種類をクエリして、主キーの値を取得できます。 主キーの値を使用する場合、主キー値を渡すことでクエリを実行できます。 たとえば、アクティブなアカウントの保存済みクエリを実行するには、このようなクエリを使用して最初に主キーを取得する必要があります。

GET [Organization URI]/api/data/v9.0/savedqueries?$select=name,savedqueryid&$filter=name eq 'Active Accounts'

次に、savedqueryid 値を使用して、その値を savedQuery パラメーターへの値として、 取引先企業エンティティ セットに渡すことができます。

GET [Organization URI]/api/data/v9.0/accounts?savedQuery=00000000-0000-0000-00aa-000010001002

同じアプローチを使用して userqueryid を取得し、保存されたクエリの対応するreturnedtypecode に一致するエンティティ セットの userQuery パラメータの値としてそれを渡します。

GET [Organization URI]/api/data/v9.0/accounts?userQuery=121c6fd8-1975-e511-80d4-00155d2a68d1

適切な種類のコレクションにクエリを適用する

メイン エンティティ セットのコレクションに保存済みクエリを単純に適用することに加えて、保存済みクエリまたはユーザー クエリを使用して、適切な種類のエンティティのコレクションに同じフィルタリングを適用することもできます。 たとえば、特定のエンティティに関連するエンティティだけにクエリを適用する場合は、同じパターンを適用できます。 たとえば、次の URL は、opportunity_parent_account コレクション値を持つナビゲーション プロパティを使用して、オープンされている営業案件クエリを特定の取引先企業に関連する営業案件に適用します。

GET [Organization URI]/api/data/v9.0/accounts(8f390c24-9c72-e511-80d4-00155d2a68d1)/opportunity_parent_account/?savedQuery=00000000-0000-0000-00aa-000010003001

参照

Web API クエリ データのサンプル (C#)
Web API クエリ データのサンプル (クライアント側の JavaScript)
Web API を使用して演算を実行する
HTTP 要求の作成とエラーの処理
Web API を使用したクエリ データ
Web API を使用してテーブル行を作成する
Web API を使用してテーブルの行を取得する
Web API を使用したテーブル行の更新と削除
Web API を使用したテーブル行の関連付けと関連付け解除
Web API 関数の使用
Web API アクションの使用
Web API を使用してバッチ操作を実行する
Web API を使用して別のユーザーを偽装する
Web API を使用する条件付き演算を実行する

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。