データの分類化
分類化は、等しいキー フィールドの値に基づいてテーブル内のレコードをグループ化し、各グループのレコード数をカウントします。キー フィールドには文字または数値が可能です。
たとえば、取引テーブルを顧客番号フィールドに基づいて分類化し、各顧客の総取引数を調べることができます。
以下の例では、入力テーブルの[顧客番号]フィールドに 10 個の値があります。一意の値もあれば、等しい値もあります。要約後、値は 4 つの一意のグループにグループ化されます。カウントにより、レコードまたは取引がいくつ各顧客番号グループにあるかが分かります。
入力テーブル | 出力結果 | |
---|---|---|
キー フィールド: 顧客番号 | 分類されたグループ | カウント |
795401 | 230575 | 1 |
518008 | 518008 | 5 |
518008 | 795401 | 3 |
925007 | 925007 | 1 |
518008 | ||
795401 | ||
518008 | ||
230575 | ||
795401 | ||
518008 |
関連付けられた数値フィールドの小計
分類すると、任意で 1 つ以上の関連付けられた数値フィールドを小計できます。上記の例では、取引金額フィールドの小計を計算して、各顧客の総取引額を調べることができます。
分類化および並べ替え
テーブルがソートされているかどうかに関係なく分類できます。ソートされていないテーブルを分類する場合、Analytics は分類化作業の一環で出力結果を自動的に並べ替えます。
並べ替えられていないテーブルを分類化する場合、Analytics では、キー フィールドの等しい値のセットごとに変数を作成し、テーブル全体が読み込まれるまでこれらの変数をメモリに格納する必要があります。大きいテーブルを使用して作業する場合、必要な変数の並べ替えを行うには多くの RAM が必要なので、実行速度が低下する可能性があります。
統計オプション
[小計フィールドの統計を含める]オプションでは、指定する小計フィールドで平均値、最小値、および最大値を計算することができます。計算結果は、分類された出力テーブルでグループ別に内訳が示されます。
上の例では、統計オプションで、各顧客の取引金額の平均値、最小値、および最大値が計算されます。
分類化の詳細
分類化では、次の操作を実行します。
操作 |
分類化の結果 での該当箇所 |
---|---|
文字または数値フィールドの等しい値に基づいてレコードをグループ化する |
Product Class フィールド |
グループごとにレコード数のカウント(小計)を行い、その小計が全体に占める割合(カウントの割合)を計算する |
カウント フィールド カウントの割合フィールド |
任意で、グループごとに 1 つ以上の数値フィールドの値の小計を計算し、最初に選択した数値フィールドを対象にその小計が全体に占める割合を計算する |
原価の在庫金額フィールド フィールドの割合フィールド |
任意で、小計を計算する各数値フィールドの平均値、最小値、および最大値を計算する |
表示されません |
出力結果に含まれる全数値フィールドの合計を提供する |
合計行 |
任意で、出力結果を文字フィールド(顧客 ID やトランザクション タイプなど)の値に基づいてブレークダウンする(文字フィールドは、分類化を実行する前にソートされている必要があります)。 |
表示されません |
分類化の結果
次によって生成される出力結果:
- 棚卸資産テーブルの製品クラスの分類
(Inventory テーブルは ACL DATA\Sample Data Files\Sample Project.ACL にあります)
- 棚卸資産価格の小計
- 結果を画面に出力する
結果は、03、04、08、09 の 4 製品クラスに在庫金額が集中していることを示しています。
手順
文字または数値フィールドの等しい値に基づいてテーブル内のレコードをグループ化することによって、データを分類化することができます。
各グループについて、任意で、関連する数値フィールドの小計、平均値、最小値、最大値の計算を含めることができます。
メモ
分類化は、最大 2048 文字のキー フィールド長をサポートしています。
2048 文字より長いキー フィールドを使用してテーブルを分類化したい場合は、長さの制限がない要約を使用することができます。詳細については、データの要約を参照してください。
大きいデータセットを分類し、結果を画面またはグラフに出力する場合は、使用可能なメモリ量を超える場合があります。画面に出力するときにメモリ使用量を減らすには、[コマンド結果の XML 出力を生成しない]([ツール > オプション > コマンド])を選択します。
- 。
- [メイン]タブで、次のいずれかを行います。
[分類化の対象]ドロップダウン リストから、分類の対象となるフィールドを選択します。
[分類化の対象]をクリックして、フィールドを選択するか、または式を作成します。
-
省略可能。[小計フィールド]を 1 つ以上選択するか、または[小計フィールド]ボタンをクリックして、小計フィールドを選択するか式を作成します。
小計フィールドを選択する順序は、列が結果に表示される順序になります。既存の Analytics テーブルに結果を追加する場合は、結果と既存テーブル内の列の選択と順序は同一である必要があります。
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(First、Next、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。
- 省略可能。小計された各数値フィールドの平均値、最小値、および最大値を計算する場合は、[小計フィールドの統計を含める]を選択します。
統計を含めるには、少なくとも 1 つの小計フィールドを選択する必要があります。
- [出力]タブをクリックします。
- [出力先]パネルで、適切な出力オプションを選択します。
- 画面 – Analytics の表示領域に結果を表示するには、このオプションを選択します。出力レコードに多数のレコードが含まれている場合は、結果を画面に表示するよりファイルに保存した方が、処理が速く便利です。
- 印刷 – デフォルトのプリンターに結果を送信するには、このオプションを選択します。
- グラフ – 結果を基にグラフを作成し、それを Analytics 表示領域に表示するには、このオプションを選択します。
- ファイル – 結果を Analytics テーブルに保存または追加するには、このオプションを選択します。テーブルがまだプロジェクトに存在しないときは、開いているプロジェクトに追加されます。
メモ
当該の分析操作に対して適用されない出力オプションは無効になります。
- 出力の種類として[ファイル]を選択した場合は、[出力指定]パネルで次の情報を指定します。
- ファイルの種類 – オプションは "Analytics テーブル" のみです。結果を新しい Analytics テーブルに保存するか、または既存の Analytics テーブルに追加します。
- 名前 – [名前]テキスト ボックスにテーブル名を入力します。もしくは、[名前]ボタンをクリックして、[保存]または[ファイルを保存する名前]ダイアログ ボックスでテーブル名を入力するか、既存のテーブルに上書きまたは追加する場合はそのテーブルを選択します。Analytics によってテーブル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。
また、絶対ファイル パスや相対ファイル パスを指定したり、別のフォルダーへ移動したり、プロジェクトの場所以外の場所にテーブルを保存したり、その場所にあるテーブルに追加したりすることもできます。たとえば、C:\Results\Output.fil または Results\Output.fil のように指定します。
- ローカル – サーバー テーブルに接続している場合のみ有効になります。プロジェクトと同じ場所に出力テーブルを保存する、パスを指定する、または別のローカル フォルダーへ移動する場合は、[ローカル]を選択します。サーバーの Prefix フォルダーに出力テーブルを保存する場合は、[ローカル]を選択解除されたままにしておきます。
メモ
出力結果が AX Server テーブルの分析や処理から生成される場合は、[ローカル]を選択します。結果テーブルを AX Server にインポートするために[ローカル]設定を選択解除することはできません。
- 出力の種類によっては、任意で[ヘッダー]および[フッター]をそれぞれのテキスト ボックスに指定できます。
デフォルトでは、ヘッダーとフッターは中央揃えで出力されます。ヘッダー テキストやフッター テキストを左揃えにするには、テキストの前に始め山かっこ(<)を入力します。複数行のヘッダーやフッターを入力する場合は、[ヘッダー]または[フッター]ボタンをクリックします。あるいは、ヘッダーまたはフッターのテキスト ボックスで、改行文字としてセミコロン(;)を入力してもかまいません。複数行を左揃えにするには、各行の先頭に始め山かっこが必要です。
- [詳細]タブをクリックします。
- [適用範囲]パネルで、適切な出力オプションを選択します。
- すべて – デフォルトで、このオプションが選択されます。ビュー内のすべてのレコードを処理するように指定するには、選択されたままにしておきます。
- 先頭 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。
- 次 – このオプションを選択してテキスト ボックスに数を入力すると、ビュー内で現在選択されているレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。行内のデータではなく、左端の列の実際のレコード番号が選択されている必要があります。
- While – WHILE ステートメントを使用して、特定の条件または条件のセットに基づいてビュー内のレコードの処理を制限するには、このオプションを選択します。[While]テキスト ボックスに条件を入力するか、または[While]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。
WHILE ステートメントでは、指定した条件が true と評価される間のみ、ビュー内のレコードを処理することができます。条件が false と評価されるとすぐに処理が終了し、それ以上レコードは判断されません。While オプションは、"すべて"、"先頭"、または "次" オプションと組み合わせて使用することができます。1 つの制限に達するとすぐに、レコードの処理が停止します。
メモ
"先頭" または "次" オプションで指定されたレコード数は、テーブル内の物理的な順番またはインデックス順のレコードを参照するもので、ビューに適用されたフィルターやクイック ソートは一切無視します。ただし、分析操作の結果ではすべてのフィルターを考慮します。
ビューでクイック ソートが実行されている場合、"次" は "先頭" のように動作します。
- 出力結果を文字フィールドの値に基づいてブレーク ダウンさせる場合は、[ブレーク]テキスト ボックスにフィールド名を入力するか、[ブレーク]をクリックしてフィールドを選択または式を作成します。
たとえば、売掛金テーブルを決済タイプで分類化した結果を、さらに顧客別に分類する可能性があるでしょう。[ブレーク]で使用できるのは 1 つの文字フィールドのみであるため、入れ子のブレークダウンには対応していません。
メモ
[ブレーク]オプションによって有効な結果を得るためには、分類化を実行する前にブレークダウン対象の文字フィールドを並べ替えておく必要があります。
- 出力の種類としてファイル(Analytics テーブル)を選択した場合は、操作の完了時に、出力結果を含む Analytics テーブルを自動的に開くようにするかどうかに応じて、[出力テーブルを開く]を選択または選択解除します。
- 出力の種類として[ファイル]を選択した場合、出力結果を既存の Analytics テーブルの末尾に追加するときは、次のいずれかを行います。
出力結果と既存のテーブルの構造がまったく同じであることがわかっている場合は、[既存のファイルに追加する]を選択します。
出力結果と既存のテーブルのレコード長を Analytics に比較させたい場合は、[既存のファイルに追加する]を選択解除されたままにしておきます。レコード長が同一でなければ、データ構造は同じではなく、追加は正しく動作しません。
メモ
出力結果と既存のテーブルの構造が同一であるかどうかが不確かな場合は、[既存のファイルに追加する]を選択解除されたままにしておくことをお勧めします。追加およびデータ構造の詳細については、Analytics テーブルおよびテキスト ファイルへの結果の追加を参照してください。
- [OK]をクリックします。
- 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。
[最後に追加]オプションが表示されることを期待していたのに表示されない場合は、[いいえ]をクリックして操作をキャンセルし、Analytics テーブルおよびテキスト ファイルへの結果の追加を参照してください。