CATEGORIZEファンクションは、数式の値をカテゴリ別にグループ化するファンクションです。カテゴリは、一連の増加する数値を指定することによって定義します。CATEGORIZEから返された結果は、expressionのすべてのディメンションによってディメンション化されます。expressionのセルごとに、CATEGORIZEによって次のいずれかが返されます。数値がカテゴリの範囲内の場合はそのカテゴリ、最初のカテゴリの範囲より小さい値の場合は0、最後のカテゴリの範囲を超える値の場合は-1、NA値の場合はNAになります。
戻り値
DECIMAL
構文
CATEGORIZE(expression {values|group-expression})
ただし、valuesの構文は次のとおりです。
bottom-value [next-lowest-break-value] top-value
引数
分類対象となる値を持つ数式。
一連の数値のうちの最低値を表し、かつカテゴリ1の下限となる数値。
次のカテゴリの範囲の先頭を表す数値。
一連の数値のうちの最高値を表し、かつ最上位のカテゴリの上限となる数値。
カテゴリのブレーク値を定義する1次元の数式。
例
例7-36 カテゴリ範囲の値の指定
アナリティック・ワークスペースに、次のgeographyディメンション、itemsディメンションおよびsales2変数が含まれるとします。
DEFINE geography DIMENSION TEXT MAINTAIN geography ADD 'g1' 'g2' 'g3' DEFINE items DIMENSION TEXT MAINTAIN items ADD 'Item1' 'Item2' 'Item3' 'Item4' 'Item5' DEFINE sales2 DECIMAL <geography items>
sales2変数には、次のデータ値が含まれているとします。
-------------SALES2-------------
-----------GEOGRAPHY------------
ITEMS g1 g2 g3
-------------- ---------- ---------- ----------
Item1 30.00 15.00 12.00
Item2 10.00 20.00 18.00
Item3 15.00 20.00 24.00
Item4 30.00 25.00 25.00
Item5 NA 7.00 21.00
次の文を発行すると、sales2変数の分類結果が表示されます。
REPORT CATEGORIZE(sales2 10 15 20 25)
この文によって生成される出力は、次のとおりです。
-CATEGORIZE(SALES2 10 15 20 25)-
-----------GEOGRAPHY------------
ITEMS g1 g2 g3
-------------- ---------- ---------- ----------
Item1 -1.00 2.00 1.00
Item2 1.00 3.00 2.00
Item3 2.00 3.00 3.00
Item4 -1.00 3.00 3.00
Item5 NA 0.00 3.00
例7-37 グループ式の指定
次の文によって、groupsディメンションとgroupval変数が定義されます。
DEFINE groups DIMENSION TEXT MAINTAIN groups ADD 'Grp1' 'Grp2' 'Grp3' 'Grp4' DEFINE groupvals DECIMAL <groups> groupvals(groups 'Grp1') = 10 groupvals(groups 'Grp2') = 15 groupvals(groups 'Grp3') = 20 groupvals(groups 'Grp4') = 25
次の文を発行すると、sales変数をexpression引数とし、groupvals変数をgroup-expression引数として指定したCATEGORIZEファンクションがコールされ、その実行結果が表示されます。
REPORT CATEGORIZE(sales, groupvals)
この文の実行結果は、「カテゴリ範囲の値の指定」に記載されている文の実行結果と同じです。