SUMMARIZE コマンド

1 つ以上の文字フィールド、数値フィールド、または日付時刻フィールドの同じ値に基づいて、レコードをグループ分けします。各グループのレコード数をカウントし、指定した数値フィールドの小計をグループごとに求めます。

構文

SUMMARIZE ON キー フィールド  <...n> <SUBTOTAL 数値フィールド <...n>|SUBTOTAL ALL> <OTHER フィールド <...n>|OTHER ALL> <TO {SCREEN|テーブル名|PRINT> <IF テスト> <WHILE テスト> <FIRST 範囲|NEXT 範囲> <PRESORT> <APPEND> <OPEN> <LOCAL> <HEADER ヘッダー テキスト> <FOOTER フッター テキスト> <STATISTICS> <MODMEDQ> <STDEV> <CPERCENT> <ISOLOCALE ロケール コード>

パラメーター

名前 説明
ON キーフィールド <...n>

要約する 1 つ以上の文字、数値、日付時刻フィールド。複数のフィールドはスペースで区切る必要があります。また、異なるデータ型を指定できます。

SUBTOTAL 数値フィールド <...n> | SUBTOTAL ALL

省略可能

グループごとに小計を計算する 1 つ以上の数値フィールドまたは式。

複数のフィールドはスペースで区切る必要があります。テーブル内のすべての数値フィールドについて小計を求める場合は ALL を指定します。

OTHER フィールド <...n> | OTHER ALL

省略可能

出力に含める 1 つ以上の追加フィールド。

  • フィールド <...n> 指定した 1 つまたは複数のフィールドが含まれます。
  • ALL キー フィールドまたは小計フィールドとして指定しなかった、テーブル内のすべてのフィールドが含まれます。

OTHER は、各要約グループ内のすべてのレコードが同じ値を含んでいるフィールドに対してのみ使用してください。要約されるグループに対し異なった値を含んでいるフィールドを指定すると、グループ内の最初のレコードの値しか表示されず、これでは意味がありません。

例:

  • テーブルを顧客番号で要約する場合には、適切な「OTHER(その他の)フィールド」の例としては顧客名を指定できます。通常、顧客名は、同じ顧客番号を持つすべてのレコードで同じです。
  • 州で業者テーブルを要約する不適切「OTHER(その他の)フィールド」は都市です。各州の一覧の最初の都市のみが出力に表示されます。このような場合、州と市の両方をキーフィールドとして(州、市の順番で)要約を行うことをお勧めします。
TO SCREEN | テーブル名 | PRINT

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

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

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

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

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

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

    メモ

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

  • 印刷 – 通常使うプリンターに結果を送信します
IF テスト

省略可能

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

メモ

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

WHILE テスト

省略可能

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

メモ

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

FIRST 範囲 | NEXT 範囲

省略可能

処理するレコード数:

  • FIRST 指定されたレコード数に達するまで、最初のレコードから処理を開始します
  • NEXT 指定されたレコード数に達するまで、現在選択されているレコードから処理を開始します

範囲は処理するレコード数を指定します。

FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。

PRESORT

省略可能

コマンドを実行する前にキー フィールドでテーブルを並べ替えます。

メモ

GROUP コマンドの内部では PRESORT を使用することができません。

PRESORT を使用する場合

PRESORT を使用すると、出力は並べ替えられ、キー フィールド内の同一値セットごと、または値の等しい組み合わせごとに 1 つの一意のグループが含まれます。

ヒント

入力テーブルがすでに並べ替えられている場合は、PRESORT を指定しないことで処理時間を短縮できます。

Presort を使用しない場合

PRESORT を使用しない場合、出力結果は、入力テーブルの並べ替え順序を使用します。

キー フィールドに入っている同一の値が連続して並んでいない場合、出力結果には、同一値セットごと、または値の等しいの組み合わせごとに 2 つ以上のグループが含まれることになります。

メモ

コンテキストによっては、同一値セットごと、または値の等しい組み合わせに 2 つ以上のグループが含まれることが、要約の目的よりも優先されることがあります。

APPEND

省略可能

コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。

メモ

コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。

  • 同じフィールド
  • 同じフィールド順序
  • 一致するフィールドが同じ長さ
  • 一致するフィールドが同じデータ型

出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。

OPEN

省略可能

コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。

LOCAL

省略可能

Analytics プロジェクトと同じ場所に出力ファイルを保存します。

メモ

Analytics テーブルである出力ファイルを含むサーバー テーブルに対してコマンドを実行するときにのみ適用されます。

HEADER ヘッダーテキスト

省略可能

レポートの各ページの最上部に挿入されるテキスト。

ヘッダーテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である HEADER の値よりも優先されます。

FOOTER フッターテキスト

省略可能

レポートの各ページの最下部に挿入されるテキスト。

フッターテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である FOOTER の値よりも優先されます。

STATISTICS

省略可能

メモ

SUBTOTAL も指定されていない場合は使用できません。

すべての SUBTOTAL フィールドの平均値、最小値、および最大値を計算します。

MODMEDQ

省略可能

メモ

SUBTOTAL も指定されていない場合は使用できません。

最頻値、中央値、最初の四分位数、および3 番目の四分位数値がすべての SUBTOTAL フィールドに対して計算されます。

STDEV

省略可能

メモ

SUBTOTAL も指定されていない場合は使用できません。

標準偏差と合計の割合がすべての SUBTOTAL フィールドに対して計算されます。

CPERCENT

省略可能

レコード数における各グループの割合を計算します。

ISOLOCALE

省略可能

メモ

Analytics の Unicode 版にのみ適用されます。

システム ロケールは「言語-」の形式で入力します。たとえば、カナダ フランス語はコード「fr_ca」を入力します。

次のコードを使用します。

  • 言語 ISO 639 標準言語コード
  • ISO 3166 標準国コード

    国コードを指定しない場合は、言語のデフォルト国が使用されます。

ISOLOCALE を使用しない場合は、デフォルト システム ロケールが使用されます。

顧客ごとの総取引額

Customer_Number(顧客番号)フィールドに基づいて Ar(売掛金)テーブルを要約し、Trans_Amount(取引額)フィールドの小計を求めたいとします。出力は、顧客ごとでグループ化され、各顧客の総取引額が含まれます。

OPEN Ar
SUMMARIZE ON Customer_Number SUBTOTAL Trans_Amount TO "Customer_total.FIL" PRESORT

顧客ごとの取引日別の総取引額

Customer_Number(顧客番号)と Trans_Date(取引日)フィールドに基づいて Ar(売掛金)テーブルを要約したいとします。Trans_Amount フィールドの小計を求めます。

出力は、顧客ごとと、顧客内の取引日ごとにグループ化され、各顧客の取引日別に総取引額が含まれます。

OPEN Ar
SUMMARIZE ON Customer_Number Trans_Date SUBTOTAL Trans_Amount TO "Customer_total_by_date.FIL" PRESORT

顧客ごと、取引日別の取引額の合計、平均、最小、および最大

直前の例に STATISTICS を追加します。

顧客ごとに、その顧客が取引をした日付別の取引額の小計に加え、日付別の取引額の平均値、最小値、および最大値も計算することができます。次のように指定します。

OPEN Ar
SUMMARIZE ON Customer_Number Trans_Date SUBTOTAL Trans_Amount TO "Customer_stats_by_date.FIL" PRESORT STATISTICS

同じ取引額、同じ日付

Trans_Date(取引日)フィールドとTrans_Amount(取引金額)フィールドに基づいて、クレジット カード取引テーブルを集計する場合を考えます。

出力は日付別にグループ化され、その日付内で金額別にグループ化されます。関連付けられたカウントを使用して、同じ金額と同じ日付の取引を特定できます。以上を行うコマンドの例を次に示します。

OPEN CC_Trans
SUMMARIZE ON Trans_Date Trans_Amount TO "Transactions_by_date_amount.FIL" OPEN PRESORT 
SET FILTER TO COUNT > 1

備考

メモ

このコマンドの動作の詳細については、Analytics のヘルプを参照してください。

機能の仕組み

SUMMARIZE は、1 つ以上の文字フィールド、数値フィールド、または日付時刻フィールドで、同じ値または同じ値の組み合わせを持つレコードをグループ化します。出力にはグループごとに、ソース テーブルのうち、そのグループに属するレコードの数が記録された特別なレコードが含まれます。

小計と統計:出力結果の計算とフィールド名

1 つ以上の任意のパラメーターを使用して、指定する SUBTOTAL フィールドで統計演算を実行することもできます。統計計算は、出力においてグループ別に内訳が示されます。

省略可能なパラメーター 出力テーブルの列見出し(表示名) 出力テーブルのフィールド名 小計フィールドで実行された計算
SUBTOTAL Total + 小計対象となる代替列見出し 小計対象となるフィールド名 各グループの小計された値
STATISTICS Average + 小計対象となる代替列見出し

a_小計対象となるフィールド名

各グループの平均値

Minimum + 小計対象となる代替列見出し

m_小計対象となるフィールド名

各グループの最小値

Maximum + 小計対象となる代替列見出し

x_小計対象となるフィールド名

各グループの最大値

MODMEDQ

Median + 小計対象となる代替列見出し

c_小計対象となるフィールド名

各グループの中央値

  • 奇数の値セット:中央値
  • 偶数の値セット: 中央にある 2 つの値の平均

Mode + 小計対象となる代替列見出し

o_小計対象となるフィールド名

各グループの最も頻繁に発生する値

  • 2 回以上出現する値がない場合は、"N/A" が表示される
  • 関連付けの場合は、最も低い値が表示される

Q25 + 小計対象となる代替列見出し

q_小計対象となるフィールド名

各グループの最初の四分位数値(下四分位数値)

  • 結果は Analytics のアルゴリズムによって計算された補間値である
  • Microsoft Excel の QUARTILE および QUARTILE.INC 関数と同じ結果を生成する

Q75 + 小計対象となる代替列見出し

p_小計対象となるフィールド名

各グループの 3 番目の四分位数(下四分位数)

  • 結果は Analytics のアルゴリズムによって計算された補間値である
  • Microsoft Excel の QUARTILE および QUARTILE.INC 関数と同じ結果を生成する
STDEV

STDDEV + 小計対象となる代替列見出し

d_小計対象となるフィールド名

各グループの標準偏差

% Field + 小計対象となる代替列見出し

f_小計対象となるフィールド名

フィールドの合計に対する割合として表される各グループの小計

CPERCENT パーセントカウント COUNT_PERCENTAGE 各グループに属するソース テーブル レコードの割合

メモ

小計フィールドは必要ありません。
ACL のスクリプト作成ガイド 14.1