メイン コンテンツにスキップする

カスタム OData クエリ

[asset-centric OData サービス]](/cdf/dashboards/references/odata/classic_odata) と [データモデリング OData サービス]](/cdf/dashboards/references/odata/dm_odata) の両方が、プロパティをフィルタリングし、特定のデータセットを取得するためのカスタム クエリをサポートしています。

カスタム クエリ URL

asset-centric OData サービスの例

リソース タイプのプロパティをフィルタリングする方法

GET .../{resourceType}/?$filter={Filter}

ここで

  • {resourceType}: AssetsTimeSeriesEvents などのリソース タイプ。
  • {Filter}: OData フィルター式。

データモデリング OData サービスの例

データ モデルの view プロパティをフィルタリングする方法

GET .../{view}/?$filter={Filter}

ここで

  • {view}: データ モデル内の view の名前。
  • {Filter}: OData フィルター式。

カスタム クエリの例

単純な等号フィルター

等号フィルターは AttributeName eq 'AttributeValue' という書式を使います。

GET .../Assets?$filter=Name eq '23-TE-96116-04'

データ モデリング フィルタリング

データ モデルのプロパティ view に直接適用されるフィルター

GET .../City?$filter=iso2 eq 'MX'

メタデータフィルタリング

メタデータの場合、フィルタリングはメタデータオブジェクトの内部にネストされたプロパティに対して実行されます。

GET .../Assets?$filter=MetaData/RES_ID eq '525283'

結合フィルター

GET .../Assets?$filter=MetaData/RES_ID eq '525283' and Name eq '23-TE-96116-04'

フィルター内での関数の使用

ODatastartswithendswith、および contains などの関数をサポートします。

たとえば、ExternalId'Sensor' で始まる時系列をフィルタリングする場合:

GET .../TimeSeries?$filter=startswith(ExternalId,'Sensor')

注意:すべての関数が CDF へのプッシュダウンをサポートしているわけではありません。特定のリソース タイプのフィルタリング機能を確認してください。

複数のクエリ パラメータの組み合わせ

複数のクエリ オプションを組み合わせて、データ取得を絞り込みことができます。

たとえば、Name'Pump' で始まるアセットを取得し、IdName のみを選択し、Name 順に並べ替えるには、以下を実行します。

GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc

カスタム クエリのデバッグ

制限

すべての OData 関数と機能がサポートされているわけではありません。サポートされている機能と制限に関する詳細情報は、個別のサービス ドキュメントを参照してください。