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 つ以上の追加フィールド。
OTHER は、各要約グループ内のすべてのレコードが同じ値を含んでいるフィールドに対してのみ使用してください。要約されるグループに対し異なった値を含んでいるフィールドを指定すると、グループ内の最初のレコードの値しか表示されず、これでは意味がありません。 例:
|
TO SCREEN | テーブル名 | PRINT |
コマンドの結果を送信する場所:
|
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 |
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
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」を入力します。 次のコードを使用します。
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_小計対象となるフィールド名 |
各グループの中央値
|
Mode + 小計対象となる代替列見出し |
o_小計対象となるフィールド名 |
各グループの最も頻繁に発生する値
|
|
Q25 + 小計対象となる代替列見出し |
q_小計対象となるフィールド名 |
各グループの最初の四分位数値(下四分位数値)
|
|
Q75 + 小計対象となる代替列見出し |
p_小計対象となるフィールド名 |
各グループの 3 番目の四分位数(下四分位数)
|
|
STDEV |
STDDEV + 小計対象となる代替列見出し |
d_小計対象となるフィールド名 |
各グループの標準偏差 |
% Field + 小計対象となる代替列見出し |
f_小計対象となるフィールド名 |
フィールドの合計に対する割合として表される各グループの小計 |
|
CPERCENT | パーセントカウント | COUNT_PERCENTAGE | 各グループに属するソース テーブル レコードの割合 メモ |