$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