Manual background

統計関数

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 に割り当てられます。

86

Sybase IQ

Page 102
Image 102
Sybase 12.7 manual Sybase IQ