SUMMARIZE コマンド
コンセプト情報
1 つ以上の文字フィールド、数値フィールド、または日付時刻フィールドの同じ値に基づいて、レコードをグループ分けします。各グループのレコード数をカウントし、指定した数値フィールドの小計をグループごとに求めます。
構文
SUMMARIZE {ON key_field <...n>|ON ALL <EXCLUDE field_name <...n>>} <SUBTOTAL numeric_field<...n>|SUBTOTAL ALL <EXCLUDE numeric_field <...n>>> <OTHER field <...n>|OTHER ALL <EXCLUDE field_name <...n>>> <TO {SCREEN|table_name|PRINT}> <LOCAL> <IF test> <WHILE test> <FIRST range|NEXT range> <PRESORT> <APPEND> <OPEN> <HEADER header_text> <FOOTER footer_text> <STATISTICS> <MODMEDQ> <STDEV> <CPERCENT> <ISOLOCALE locale_code>
パラメーター
| 名前 | 説明 |
|---|---|
| ON キーフィールド <...n> | ON ALL |
要約する 1 つ以上の文字、数値、日付時刻フィールド。
|
| EXCLUDE field_name 省略可能 |
ON ALL を使用して要約するときにのみ有効です。 コマンドから除外するフィールド。EXCLUDE では、指定したフィールドを除外して、ON ALL を微調整できます。 EXCLUDE は ON ALL の直後に置く必要があります。例: ON ALL EXCLUDE field_1 field_2 |
| SUBTOTAL 数値フィールド <...n> | SUBTOTAL ALL 省略可能 |
グループごとに小計を計算する 1 つ以上の数値フィールドまたは式。 複数のフィールドはスペースで区切る必要があります。テーブル内のすべての数値フィールドについて小計を求める場合は ALL を指定します。 |
| EXCLUDE numeric_field 省略可能 |
SUBTOTAL ALL を使用するときにのみ有効です。 コマンドから除外するフィールド。EXCLUDE では、指定したフィールドを除外して、SUBTOTAL ALL を微調整できます。 EXCLUDE は SUBTOTAL ALL の直後に置く必要があります。例: SUBTOTAL ALL EXCLUDE field_1 field_2 |
| OTHER フィールド <...n> | OTHER ALL 省略可能 |
出力に含める 1 つ以上の追加フィールド。
OTHER は、各要約グループ内のすべてのレコードが同じ値を含んでいるフィールドに対してのみ使用してください。要約されるグループに対し異なった値を含んでいるフィールドを指定すると、グループ内の最初のレコードの値しか表示されず、これでは意味がありません。 例:
|
| EXCLUDE field_name 省略可能 |
OTHER ALL を使用するときにのみ有効です。 コマンドから除外するフィールド。EXCLUDE では、指定したフィールドを除外して、OTHER ALL を微調整できます。 EXCLUDE は OTHER ALL の直後に置く必要があります。例: OTHER ALL EXCLUDE field_1 field_2 |
| TO SCREEN | テーブル名 | PRINT |
コマンドの結果を送信する場所:
|
| LOCAL 省略可能 |
Analytics プロジェクトと同じ場所に出力ファイルを保存します。 メモ Analytics テーブルである出力ファイルを含むサーバー テーブルに対してコマンドを実行するときにのみ適用されます。 LOCAL パラメーターは TO パラメーターの直後に置く必要があります。 |
| IF test 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 |
| WHILE test 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
| FIRST range | NEXT range 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
| PRESORT 省略可能 |
コマンドを実行する前にキー フィールドでテーブルを並べ替えます。 メモ GROUP コマンドの内部では PRESORT を使用することができません。 PRESORT を使用する場合PRESORT を使用すると、出力は並べ替えられ、キー フィールド内の同一値セットごと、または値の等しい組み合わせごとに 1 つの一意のグループが含まれます。 ヒント 入力テーブルがすでに並べ替えられている場合は、PRESORT を指定しないことで処理時間を短縮できます。 Presort を使用しない場合PRESORT を使用しない場合、出力結果は、入力テーブルの並べ替え順序を使用します。 キー フィールドに入っている同一の値が連続して並んでいない場合、出力結果には、同一値セットごと、または値の等しいの組み合わせごとに 2 つ以上のグループが含まれることになります。 メモ コンテキストによっては、同一値セットごと、または値の等しい組み合わせに 2 つ以上のグループが含まれることが、要約の目的よりも優先されることがあります。 |
| APPEND 省略可能 |
コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。 メモ コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。
出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。 |
| OPEN 省略可能 |
コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。 |
| HEADER header_text 省略可能 |
レポートの各ページの最上部に挿入されるテキスト。 ヘッダーテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である HEADER の値よりも優先されます。 |
| FOOTER footer_text 省略可能 |
レポートの各ページの最下部に挿入されるテキスト。 フッターテキストは引用符で囲んだ文字列として指定する必要があります。この値は、Analytics のシステム変数である FOOTER の値よりも優先されます。 |
| STATISTICS 省略可能 |
メモ SUBTOTAL も指定されていない場合は使用できません。 すべての SUBTOTAL フィールドの平均値、最小値、および最大値を計算します。 |
| MODMEDQ 省略可能 |
メモ SUBTOTAL も指定されていない場合は使用できません。 最頻値、中央値、最初の四分位数、および3 番目の四分位数値がすべての SUBTOTAL フィールドに対して計算されます。 |
| STDEV 省略可能 |
メモ SUBTOTAL も指定されていない場合は使用できません。 標準偏差と合計の割合がすべての SUBTOTAL フィールドに対して計算されます。 |
| CPERCENT 省略可能 |
レコード数における各グループの割合を計算します。 |
| ISOLOCALE 省略可能 |
メモ Analytics の Unicode 版にのみ適用されます。 システム ロケールは「言語-国」の形式で入力します。たとえば、カナダ フランス語はコード「fr_ca」を入力します。 次のコードを使用します。
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
備考
このコマンドの動作の詳細については、データの要約を参照してください。
機能の仕組み
SUMMARIZE はフィールドに同じ値があるレコード、または複数のフィールドで値の組み合わせが同じであるレコードをグループ化します。出力結果には、グループごとに 1 つのレコードが含まれ、各レコードには、ソース テーブル内でそのグループに属するレコードの数が含まれます。
小計と統計:出力結果の計算とフィールド名
1 つ以上の任意のパラメーターを使用して、指定する SUBTOTAL フィールドで統計演算を実行することもできます。統計計算は、出力においてグループ別に内訳が示されます。
| 省略可能なパラメーター | 出力テーブルの列見出し(表示名) | 出力テーブルのフィールド名 | 小計フィールドで実行された計算 |
|---|---|---|---|
| SUBTOTAL | Total + 小計対象となる代替列見出し | 小計対象となるフィールド名 | 各グループの小計された値 |
| STATISTICS | Average + 小計対象となる代替列見出し |
a_ 小計対象となるフィールド名 |
各グループの平均値 |
|
Minimum + 小計対象となる代替列見出し |
m_ 小計対象となるフィールド名 |
各グループの最小値 |
|
|
Maximum + 小計対象となる代替列見出し |
x_小計対象となるフィールド名 |
各グループの最大値 |
|
| MODMEDQ |
Median + 小計対象となる代替列見出し |
c_ 小計対象となるフィールド名 |
各グループの中央値
|
|
Mode + 小計対象となる代替列見出し |
o_ 小計対象となるフィールド名 |
各グループの最も頻繁に発生する値
|
|
|
Q25 + 小計対象となる代替列見出し |
q_ 小計対象となるフィールド名 |
各グループの最初の四分位数値(下四分位数値)
|
|
|
Q75 + 小計対象となる代替列見出し |
p_ 小計対象となるフィールド名 |
各グループの 3 番目の四分位数(下四分位数)
|
|
| STDEV |
STDDEV + 小計対象となる代替列見出し |
d_ 小計対象となるフィールド名 |
各グループの標準偏差 |
|
% Field + 小計対象となる代替列見出し |
f_ 小計対象となるフィールド名 |
フィールドの合計に対する割合として表される各グループの小計 |
|
| CPERCENT | パーセントカウント | COUNT_PERCENTAGE | 各グループに属するソース テーブル レコードの割合 メモ 小計フィールドは必要ありません |