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

STRATIFY コマンド

数値フィールドの値に基づいて、レコードを数値間隔でグループ化します。各間隔のレコード数をカウントし、指定した数値フィールドの小計を間隔ごとに求めます。

STRATIFY <ON> 数値フィールド MINIMUM  MAXIMUM  {<INTERVALS 数値>|FREE 間隔値 <...n> 最後の間隔} <SUPPRESS> <SUBTOTAL 数値フィールド <...n>|SUBTOTAL ALL> <KEY 内訳フィールド> <TO SCREEN|テーブル名|ファイル名|GRAPH|PRINT}> <IF テスト> <FIRST 範囲|NEXT 範囲> <WHILE テスト> <APPEND> <OPEN> <HEADER ヘッダー テキスト> <FOOTER フッター テキスト> <LOCAL> <STATISTICS>
名前 説明
ON 数値フィールド

階層化する数値フィールドまたは式。

MINIMUM

数値型のフィールドにのみ適用されます。最初の数値間隔の最小値。

FREE を使用している場合、MINIMUM は省略可能です。それ以外の場合は必要になります。

MAXIMUM

数値型のフィールドにのみ適用されます。最後の数値間隔の最大値。

FREE を使用している場合、MAXIMUM は省略可能です。それ以外の場合は必要になります。

INTERVALS

省略可能

数値型のフィールドにのみ適用されます。

MINIMUM 値と MAXIMUM 値によって指定された範囲の間に Analytics が生成する、均等な間隔の数。間隔の数を指定しない場合は、デフォルトの数が使用されます。

デフォルトは、[オプション]ダイアログ ボックスの[コマンド]タブの[間隔の数]によって決定されます。

FREE 間隔値 <...n> 最終間隔

省略可能

数値型のフィールドにのみ適用されます。

各間隔の開始点と最後の間隔の終了点を指定することにより、カスタム サイズの間隔を作成することができます。

MINIMUM 値と MAXIMUM 値を指定した場合は、これらの値がそれぞれ最初の間隔の開始点と最後の間隔の終了点となり、各間隔値が範囲内に追加の間隔を生成します。指定する間隔値は、MINIMUM 値より大きく、かつ MAXIMUM 値以下である必要があります。

間隔値は、数値順でなければならず、重複値を含めることはできません。次に例を示します。

たとえば、FREE -1000, 0, 1000, 2000, 3000 のように指定します。

FREE と INTERVALS の両方を指定する場合は、INTERVALS が無視されます。

SUPPRESS

省略可能

MAXIMUM 値より大きい値と MINIMUM 値より小さい値をコマンド出力から除外します。

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

省略可能

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

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

小計フィールドを選択しないと、階層化の対象とするフィールドの小計が自動的に計算されます。

階層化するフィールドと、それ以外の 1 つ以上のフィールドの小計を出したい場合、または小計された階層化対象フィールドの統計を含めたい場合は、階層化するフィールドを明示的に指定する必要があります。

KEY ブレークフィールド

省略可能

小計計算をグループ化するフィールドまたは式。ブレーク フィールドの値が変わるたびに、小計が計算されます。

ブレークフィールドは、文字フィールドか式である必要があります。指定できるフィールドは 1 つだけですが、1 つ以上のフィールドを含んでいる式を使用することができます。

TO SCREEN | テーブル名 | ファイル名 | GRAPH | PRINT

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

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

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

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

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

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

    メモ

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

  • ファイル名は結果の保存先となるファイルです。

    ファイル名には、適切なファイル拡張子を付けた文字列を引用符で囲んで指定します。例:TO "Output.TXT"

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

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

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

省略可能

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

メモ

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

FIRST 範囲 | NEXT 範囲

省略可能

処理するレコード数:

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

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

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

WHILE テスト

省略可能

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

メモ

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

APPEND

省略可能

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

メモ

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

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

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

OPEN

省略可能

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

HEADER ヘッダーテキスト

省略可能

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

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

FOOTER フッターテキスト

省略可能

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

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

LOCAL

省略可能

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

メモ

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

STATISTICS

省略可能

メモ

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

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

請求金額で階層化する

Ar(売掛金)テーブルを Invoice_Amount(請求金額) フィールドで階層化する必要があるとします。請求金額の小計は自動的に求められます。

出力は以下のような $1000 間隔でグループ化されます。

  • $0 ~ $999.99
  • $1,000 ~ $1,999.99
  • といった具合です。

各間隔の請求金額合計も求められます。

OPEN Ar 
STRATIFY ON Invoice_Amount MINIMUM 0 MAXIMUM 10000 INTERVALS 10 TO "Stratified_invoices.FIL"

メモ

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

機能の仕組み

STRATIFY は、数値フィールドの値に基づいて、レコードを均等な数値間隔またはカスタム サイズの数値間隔にグループ化します。

出力には間隔ごとに、ソース テーブルのうち、その間隔に属するレコードの数が記録された特別なレコードが含まれます。

MINIMUM および MAXIMUM 値を自動的に入力する

STRATIFY コマンドを実行する前に、階層化の対象フィールドで STATISTICS コマンドまたは PROFILE コマンドを実行して、フィールド内の最小値と最大値を MINIMUM パラメーターと MAXIMUM パラメーターに自動的に設定することができます。

自動生成された小計と統計フィールドの名前

STATISTICS を使用して、1 つ以上の SUBTOTAL フィールドで統計演算を実行し、結果を Analytics テーブルに出力する場合は、パラメーターによって自動生成されたフィールドの名前は次のようになります。

自動生成されたフィールドの説明

出力テーブルのフィールド名

出力テーブルの列見出し(表示名)

小計フィールド

集計対象となる、ソース テーブルのフィールド名

Total + 集計対象となる、ソース テーブルの代替列見出し

平均フィールド

a_集計対象となる、ソース テーブルのフィールド名

Average + 集計対象となる、ソース テーブルの代替列見出し

最小フィールド

m_集計対象となる、ソース テーブルのフィールド名

Minimum + 集計対象となる、ソース テーブルの代替列見出し

最大フィールド

x_集計対象となる、ソース テーブルのフィールド名

Maximum + 集計対象となる、ソース テーブルの代替列見出し