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

コマンドの結果を送信する場所:

  • SCREEN は Analytics の表示領域に結果を表示します
  • テーブル名は、結果の保存先となる Analytics テーブルのことです。

    テーブル名には、ファイル拡張子 .FIL を付けた文字列を引用符で囲んで指定する必要があります。例:TO "Output.FIL"

    デフォルトでは、テーブル データ ファイル(.fil)は、Analytics プロジェクトが入っているフォルダーに保存されます。

    既存の異なるフォルダーにデータ ファイルを保存するには、絶対または相対ファイル パスを指定します。

    • TO "C:\Output.FIL"
    • TO "Results\Output.FIL"

    メモ

    テーブル名は 64 文字の英数字(.FIL 拡張子を含まない)に制限されています。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。

  • GRAPH は結果をグラフに表示し、それを Analytics の表示領域に表示します
  • 印刷 – 通常使うプリンターに結果を送信します
IF テスト

省略可能

各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。

メモ

IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

WHILE テスト

省略可能

各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。

メモ

WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。

FIRST 範囲 | NEXT 範囲

省略可能

処理するレコード数:

  • 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 + 集計対象となる、ソース テーブルの代替列見出し

ACL のスクリプト作成ガイド 14.1