CLASSIFY コマンド
文字または数値フィールドの等しい値に基づいてレコードをグループ化する各グループのレコード数をカウントし、指定した数値フィールドの小計をグループごとに求めます。
構文
CLASSIFY <ON> キー フィールド <SUBTOTAL 数値フィールド <...n>|ALL> <INTERVALS 数値> <SUPPRESS> <TO SCREEN|テーブル名|GRAPH|PRINT> <IF テスト> <WHILE テスト> <FIRST 範囲|NEXT 範囲> <HEADER ヘッダー テキスト> <FOOTER フッター テキスト> <KEY 内訳フィールド> <OPEN> <APPEND> <LOCAL> <STATISTICS>
パラメーター
名前 | 説明 |
---|---|
ON キーフィールド |
分類する文字または数値フィールド。 キー フィールドの最大長は 2048 文字です。 2048 文字より長いキー フィールドを使用してテーブルを分類化したい場合は、SUMMARIZE コマンドを使用します。SUMMARIZE コマンドにはキー フィールドの長さ制限はありません。 |
SUBTOTAL 数値フィールド <...n> | SUBTOTAL ALL 省略可能 |
グループごとに小計を計算する 1 つ以上の数値フィールドまたは式。 複数のフィールドはスペースで区切る必要があります。テーブル内のすべての数値フィールドについて小計を求める場合は ALL を指定します。 |
INTERVALS 数 省略可能 |
出力結果のグループの最大数。 分類化されるフィールドにある同一値セットの数が指定された最大数を超える場合は、列の先頭から数えた同一値セット数のみの同一値セットが使用されます。 最大数を超える同一値セットは、"OTHER"(その他)というグループにまとめられます。 INTERVALS を省略した場合は、分類化されるフィールドの同一値セットごとに 1 つのグループが作成されます。 メモ このパラメーターは Analytics のユーザー インターフェイスには実装されていません。ACLScript 構文の一部としてのみ使用することができます。 |
SUPPRESS 省略可能 |
メモ INTERVALS も指定されていない場合は使用できません。SUPPRESS は Analytics のユーザー インターフェイスには実装されていません。スクリプトまたはコマンド ラインで、ACLScript 構文の一部としてのみ使用することができます。 INTERVALS で指定された最大数を超える同一値セットは、コマンド出力から除外します。 |
TO SCREEN | テーブル名 | GRAPH | PRINT |
コマンドの結果を送信する場所:
|
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 |
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
HEADER ヘッダーテキスト 省略可能 |
レポートの各ページの最上部に挿入されるテキスト。 ヘッダーテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である HEADER の値よりも優先されます。 |
FOOTER フッターテキスト 省略可能 |
レポートの各ページの最下部に挿入されるテキスト。 フッターテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である FOOTER の値よりも優先されます。 |
KEY ブレークフィールド 省略可能 |
小計計算をグループ化するフィールドまたは式。ブレーク フィールドの値が変わるたびに、小計が計算されます。 ブレークフィールドは、文字フィールドか式である必要があります。指定できるフィールドは 1 つだけですが、1 つ以上のフィールドを含んでいる式を使用することができます。 |
OPEN 省略可能 |
コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。 |
APPEND 省略可能 |
コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。 メモ コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。
出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。 |
LOCAL 省略可能 |
Analytics プロジェクトと同じ場所に出力ファイルを保存します。 メモ Analytics テーブルである出力ファイルを含むサーバー テーブルに対してコマンドを実行するときにのみ適用されます。 |
STATISTICS 省略可能 |
メモ SUBTOTAL も指定されていない場合は使用できません。 すべての SUBTOTAL フィールドの平均値、最小値、および最大値を計算します。 |
例
顧客ごとの総取引額
Customer_Number(顧客番号)フィールドに基づいて Ar(売掛金)テーブルを分類化し、Trans_Amount(取引額)フィールドの小計を求めたいとします。出力結果は、顧客ごとでグループ化され、各顧客の総取引額が含まれます。
OPEN Ar CLASSIFY ON Customer_Number SUBTOTAL Trans_Amount TO "Customer_total.FIL"
顧客ごとの取引額の合計、平均、最小、および最大
前の例と同様に、Customer_Number(顧客番号)フィールドに基づいて Ar(売掛金)テーブルを分類化し、Trans_Amount(取引額)フィールドの小計を求めます。
今回は、各顧客の取引額の平均値、最小値、および最大値を計算するために STATISTICS を追加します。
OPEN Ar CLASSIFY ON Customer_Number SUBTOTAL Trans_Amount TO "Customer_stats.FIL" STATISTICS
同じ請求金額
AP_Trans(買掛取引)テーブルに 2 回以上出現する請求金額を特定したいとします。
それには、テーブルを Invoice_Amount(請求金額)フィールドで分類化します。出力結果は請求金額によってグループ化され、2 回以上出現する請求金額を特定するために使用できる関連カウントとともに表示されます。
OPEN AP_Trans CLASSIFY ON Invoice_Amount TO "Grouped_invoice_amounts.FIL" OPEN SET FILTER TO COUNT > 1
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。
機能の仕組み
CLASSIFY は、文字または数値フィールドに同じ値を持つレコードをグループ化します。
出力にはグループごとに、ソース テーブルのうち、そのグループに属するレコードの数が記録された特別なレコードが含まれます。
並べ替えと CLASSIFY
CLASSIFY では、データは並べ替えられていてもいなくても処理できます。出力は、自動的に昇順に並べ替えられます。
自動生成された小計と統計フィールドの名前
STATISTICS を使用して、1 つ以上の SUBTOTAL フィールドで統計演算を実行し、結果を Analytics テーブルに出力する場合は、パラメーターによって自動生成されたフィールドの名前は次のようになります。
自動生成されたフィールドの説明 |
出力テーブルのフィールド名 |
出力テーブルの列見出し(表示名) |
---|---|---|
小計フィールド |
集計対象となる、ソース テーブルのフィールド名 |
Total + 集計対象となる、ソース テーブルの代替列見出し |
平均フィールド |
a_集計対象となる、ソース テーブルのフィールド名 |
Average + 集計対象となる、ソース テーブルの代替列見出し |
最小フィールド |
m_集計対象となる、ソース テーブルのフィールド名 |
Minimum + 集計対象となる、ソース テーブルの代替列見出し |
最大フィールド |
x_集計対象となる、ソース テーブルのフィールド名 |
Maximum + 集計対象となる、ソース テーブルの代替列見出し |