Sybase IQ 12.7 Manual De Usuario

Descargar
Página de 212
統計関数
 
86
 
Sybase IQ
FLOOR: 引数の値以下で、正の無限大に最も近い整数値を返します。
CEILING: 引数の値以上で、負の無限大に最も近い整数値を返します。CEIL
 CEILING の同意語です。
WIDTH_BUCKET 関数
WIDTH_BUCKET 関数は、他の数値関数よりも少し複雑です。この関数は 4 つ
の引数を取ります。具体的には、
「目的の値」
2 つの範囲境界、そしてこの範
囲を何個の等しいサイズ
 ( または可能な限り等しいサイズ ) の「バケット」に
分割するかを指定します。
WIDTH_BUCKET 関数は、範囲の上限から下限ま
での差のパーセンテージに基づき、目的の値が何番目のバケットに含まれるか
を示す数値を返します。最初のバケットが、バケット番号
 1 となります。
目的の値が範囲境界の外にある場合のエラーを避けるために、範囲の下限より
も小さい目的の値は、先頭の補助バケット
 ( バケット 0) に配置されます。同
様に、範囲の上限よりも大きい目的の値は、末尾の補助バケット
 ( バケット
N+1) に配置されます。
たとえば、
WIDTH_BUCKET (14, 5, 30, 5) は 2 を返します。処理の内容は次の
とおりです。
(30-5)/5 = 5 なので、指定の範囲を 5 つのバケットに分割すると、各バケッ
トの幅は
 5 になります。
1 つ目のバケットは 0.00 ~ 19.999 ...% の値、2 つ目のバケットは 20.00 ~
39.999 ...% の値を表し、以降同様に続き、5 つ目のバケットは 80.00 ~
100.00% の値を表します。
目的の値を含むバケットは、
(5*(14-5)/(30-5)) + 1 という計算によって算出
されます。これは、バケットの総数に、指定範囲に対する「下限から目的
の値までのオフセット」の比率を掛け、それに
 1 を足すという計算です。
実際の数式は
 (5*9/25) + 1 となり、これを計算すると 2.8 になります。こ
れはバケット番号
 2 (2.0 ~ 2.999 ...) の範囲に含まれる値であるため、バ
ケット番号
 2 が返されます。
WIDTH_BUCKET 例
次の例では、サンプル・テーブル内のマサチューセッツ州の顧客の
 credit_limit
カラムに関する
 10 バケットのヒストグラムを作成し、各顧客のバケット番号
(“Credit Group”) を返します。最大値を超える限度額が設定されている顧客は、
オーバフロー・バケット
 11 に割り当てられます。