メインコンテンツまでスキップ
バージョン: 19

$compute

指定した属性を対象に計算をおこないます (: Employee/salary/?$compute=sum。オブジェクト属性の例: Employee/objectAtt.property1/?$compute=sum)。

説明

このパラメーターを使って、データを対象に計算をおこなうことができます。

属性に対して計算をおこなうには、次のように書きます:

GET /rest/Employee/salary/?$compute=$all

オブジェクト属性の場合は、プロパティを指定します。 例:

GET /rest/Employee/objectAtt.property1/?$compute=$all

次のキーワードが利用可能です:

キーワード説明
$all利用可能なすべての計算を属性に対しておこない、結果を格納した JSON オブジェクトを取得します。数値型の属性については平均 (average)、カウント (count)、最小 (min)、最大 (max)、合計 (sum)、文字列型の属性についてはカウント (count)、最小 (min)、最大 (max) が利用可能です。
average数値型属性の平均を取得します。
countコレクション内の要素数またはデータクラス内のエンティティ数を取得します (どちらの場合も属性を指定する必要があります)
min数値型属性あるいは文字列型属性の最小値を取得します。
max数値型属性あるいは文字列型属性の最大値を取得します。
sum数値型属性の合計を取得します。

例題

数値型の属性を対象にすべての計算値を取得するには、次のように書きます:

GET /rest/Employee/salary/?$compute=$all

レスポンス:

{
"salary": {
"count": 4,
"sum": 335000,
"average": 83750,
"min": 70000,
"max": 99000
}
}

文字列型の属性を対象にすべての計算値を取得するには、次のように書きます:

GET /rest/Employee/firstName/?$compute=$all

レスポンス:

{
"salary": {
"count": 4,
"min": Anne,
"max": Victor
}
}

属性に対して特定の計算のみをおこなうには、次のように書きます:

GET /rest/Employee/salary/?$compute=sum

レスポンス:

235000

オブジェクト属性に対して特定の計算のみをおこなうには、次のように書きます:

GET /rest/Employee/objectAttribute.property1/?$compute=sum

レスポンス:

45