データのクロス集計
コンセプト情報
クロス集計は、2 つ以上のキー フィールドの値の、等しい組み合わせに基づいてテーブル内のレコードをグループ分けし、各グループのレコード数をカウントします。キー フィールドには文字または数値が可能です。
結果として生じるグループが、ピボット テーブルに似た行と列のグリッドで表示されることにより、データ内の関係やパターンが視覚化されます。
たとえば、在庫テーブルを製品の場所と製品クラスのフィールドに基づいてクロス集計し、各場所におけるクラス別のレコードの数を調べることができます。
| キー フィールド 1 (製品の場所) |
キー フィールド 2 (製品クラス) |
クロス集計グループ (製品の場所と製品クラス) |
レコード数 | |
|---|---|---|---|---|
| A-01 | 17 | A-01 | 16 | 1 |
| F-19 | 22 | A-01 | 17 | 3 |
| F-19 | 08 | B-03 | 17 | 2 |
| A-01 | 16 | F-19 | 22 | 2 |
| B-03 | 17 | F-19 | 08 | 1 |
| Q-28 | 03 | Q-28 | 03 | 1 |
| A-01 | 17 | |||
| F-19 | 22 | |||
| A-01 | 17 | |||
| B-03 | 17 | |||
数値フィールドの小計
クロス集計すると、任意で 1 つ以上の数値フィールドを小計できます。上記の例では、在庫金額フィールドを小計して、各場所の製品クラスごとに合計在庫金額を見つけることができます。
クロス集計は要約と似ています。
クロス集計は、2 つのフィールドを使用する要約と似ています。両方の操作で、出力結果のカウントや小計は同じですが、その情報の配置は異なります。
クロス集計では、カウントや小計がゼロ(0)でも表示しますが、要約では表示しません。実施しようとする分析の種類によっては、カウントや小計のゼロ表示が有用になることがあります。
クロス集計と並べ替え
テーブルは、並べ替えられているかどうかに関係なくクロス集計できます。並べ替えられていないテーブルをクロス集計すると、Analytics はクロス集計操作の一環として出力結果を自動的に並べ替えます。
クロス集計の詳細
クロス集計では、次の操作を実行します。
| 操作 | クロス集計の結果 での該当箇所 |
|---|---|
| 2 つ以上の文字または数値フィールドの値の等しい組み合わせに基づいてレコードをグループ化し、そのグループを行と列のグリッドに表示する | Cust Number フィールド(行)と Type フィールド(列)の交差位置 |
| 任意で、グループごとに 1 つ以上の数値フィールドの小計を計算する | Amount フィールド |
| 任意で、グループごとにレコード数の小計を計算する メモ 小計フィールドが何も選択されていない場合は、自動的にカウントが含められます。 |
カウント フィールド |
|
出力結果に含まれる全列の合計を提供する |
合計行 |
クロス集計の結果
次によって生成される出力結果:
- 売掛金テーブル
(ACL DATA\Sample Data Files\Sample Project.ACL の Ar テーブル)
の顧客番号と決済タイプを対象にクロス集計を実行した結果の例です。 - 取引金額の小計
- 結果を画面に出力する
手順
2 つ以上の文字または数値フィールドの値の等しい組み合わせに基づいてテーブル内のレコードをグループ化することによって、データをクロス集計することができます。
結果として生じるグループが、ピボット テーブルに似た行と列のグリッドで表示されることにより、データ内の関係やパターンが視覚化されます。
- [分析] > [クロス集計]の順に選択します。
- [メイン]タブで、次のいずれかを行います。
[行]リストから、行として表示するフィールドを選択します。
[行]をクリックして、フィールドを選択するか、または式を作成します。
複数のフィールドを選択すると、出力結果に入れ子の追加レベルが作成されます(1 行と 1 列を使用するクロス集計は、既に入れ子の一形態です)。フィールドを選択する順序が、入れ子の階層を決定します。レコードは、まず、1 番目に選択したフィールド別にクロス集計され、次にこれら一次グループのそれぞれで、2 番目に選択したフィールド別にクロス集計されます。この 2 つのフィールドの選択順序を逆にすると、まったく異なる結果が得られます。
フィールドを選択する順序は、フィールドが結果に表示される順序でもあります。既存の Analytics テーブルに結果を追加する場合は、結果と既存テーブル内の列の選択と順序は同一である必要があります。
- 次のいずれかを実行します。
[列]ドロップダウンリストから、列として表示するフィールドを選択します。
[列]をクリックして、フィールドを選択するか、または式を作成します。
-
省略可能。[小計フィールド]を 1 つ以上選択するか、または[小計フィールド]ボタンをクリックして、小計フィールドを選択するか式を作成します。
小計フィールドを選択する順序は、列が結果に表示される順序になります。既存の Analytics テーブルに結果を追加する場合は、結果と既存テーブル内の列の選択と順序は同一である必要があります。
-
現在のビューの中に処理から除外したいレコードがある場合は、[If]テキスト ボックスに条件を指定します。直接入力するか、または[If]ボタンをクリックし、式ビルダーを利用して IF ステートメントを作成します。
メモ
If 条件は、任意の範囲オプション(先頭、次へ、While)が適用された後に、テーブルに残るレコードに対してのみ評価されます。
IF ステートメントは、ビュー内のすべてのレコードを判断し、指定された条件を満たさないレコードを除外します。
- 行と列の交差ごとのレコード数のカウントを含める場合は、[カウントを含める]を選択します。
小計フィールドが何も選択されていない場合は、自動的にカウントが含められます。
- [出力]タブをクリックします。
-
[出力先] パネルで、適切な出力オプションを選択します。
メモ
特定の分析操作に対して適用されない場合に、出力オプションは無効になります。
オプション 詳細 画面 Analytics の表示領域に結果を表示します
ヒント
ヒント表示領域内で、リンク付きの任意の結果値をクリックすると、関連付けられているソーステーブル内の 1 つまたは複数のレコードにドリルダウンすることができます。
出力レコードに多数のレコードが含まれている場合は、結果を画面に表示するよりファイルに保存した方が、処理が速く便利です。
印刷 通常使うプリンターに結果を送信します。 グラフ 結果を基にグラフを作成し、それを Analytics 表示領域に表示します ファイル 結果を新しい Analytics テーブルまたはテキストファイル保存または追加するか、あるいは既存の Analytics テーブルまたはファイルを上書きします。
- Analytics テーブル - テーブルがまだプロジェクトに存在しないときは、開いているプロジェクトに追加されます。
- テキストファイル - ファイルは Analytics の外部に保存されます。
-
出力タイプとして [ファイル] を選択した場合は、[出力指定] パネルで適切な情報を指定します。
オプション 詳細 ファイル タイプ -
Analytics テーブル - 結果を Analytics テーブルに保存または追加するか、既存のテーブルを上書きします。
-
ASCII テキストファイルまたは Unicode テキストファイル - 結果をテキストファイルに保存または追加するか、既存のファイルを上書きします。
名前 -
新しいテーブルまたはファイルを保存するには、次のようにします。
[名前]テキスト ボックスにファイル名を入力します。Analytics によってファイル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。
-
既存のテーブルまたはファイルに追加するか、既存のテーブルまたはファイルを上書きするには、次のようにします。
[名前] をクリックして、[保存] または [名前を付けて保存] ダイアログボックスで既存のテーブルまたはファイルを選択します。
絶対ファイルパスや相対ファイルパスを指定したり、別のフォルダーへ移動したり、プロジェクトの場所とは違う場所でファイルの保存、追加、または上書きを実行したりできます。例:
C:\Results\Output.fil または Results\Output.fil。
メモ
Analytics のテーブル名は、最長で 64 文字の英数字(拡張子 .FIL を含まない)に制限されます。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。
ローカル サーバーテーブルに接続されており、Analytics テーブルに保存、追加、またはそれを上書きする場合にのみ有効になります。
-
[ローカル] を選択すると、Analytics プロジェクトと同じ場所で保存、追加、または上書きを実行できます。
-
[ローカル] を選択解除したままにしておくと、サーバーの Prefix フォルダーで保存、追加、または上書きを実行できます。
メモ
出力結果が AX Server テーブルの分析や処理から生成される場合は、[ローカル]を選択します。結果テーブルを AX Server へインポートするために[ローカル]設定を選択解除することはできません。
-
- 省略可能。適切なテキスト ボックスにヘッダーまたはフッターを指定します。
複数行のヘッダーやフッターを入力する場合は、[ヘッダー]または[フッター]をクリックします。ヘッダーまたはフッターのテキスト ボックスで、改行文字としてセミコロン (;) を入力することもできます。
デフォルトでは、ヘッダーとフッターは中央揃えで出力されます。ヘッダー テキストやフッター テキストを左揃えにするには、テキストの前に始め山括弧 (<) を入力します。複数行を左揃えにするには、各行の先頭に山括弧が必要です。
メモ
出力タイプによっては、ヘッダーまたはフッターを指定できないものもあります。
- [詳細]タブをクリックします。
-
[適用範囲]パネルで、適切なオプションを選択します。
- すべて
- 先頭
- 次へ
- While
詳しく表示
適用範囲オプション 詳細 すべて (デフォルト) ビュー内のすべてのレコードを処理することを指定します。 先頭 テキストボックスに数を入力します。ビュー内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。 次へ テキストボックスに数を入力します。ビュー内の現在選択したレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。行内のデータではなく、ビュー内の左端列で実際のレコード番号が選択されている必要があります。 While WHILE ステートメントを使用して、特定の条件または条件のセットに基づいてビュー内のレコードの処理を制限します。
[While]テキストボックスに条件を入力するか、または[While]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成します。
WHILE ステートメントでは、指定した条件が true と評価される間のみ、ビュー内のレコードを処理することができます。条件が false と評価されるとすぐに処理が終了し、それ以上レコードは判断されません。
While オプションは、"すべて"、"先頭"、または "次" オプションと組み合わせて使用することができます。1 つの制限に達するとすぐに、レコードの処理が停止します。
メモ
[先頭]または[次]オプションは、テーブル内のレコードの物理的な順序またはインデックス付けされた順序のいずれかを参照します。[先頭]または[次]では、テーブル ビューに適用されたフィルタリングまたはクイック ソートは無視されます。ただし、分析操作の出力結果ではすべてのフィルターを考慮します。
ビューでクイック ソートが実行されている場合、"次" は "先頭" のように動作します。
-
出力の種類としてファイル(Analytics テーブル)を選択した場合、操作の完了時に、自動的に出力テーブルを開く場合は、[出力テーブルを開く]を選択します。
- 出力の種類として[ファイル]を選択した場合、出力結果を既存ファイルの末尾に追加するときは、次のいずれかを行います。
テキスト ファイル、または出力結果とまったく同じ構造であることがわかっている Analytics テーブルに追加する場合は、[既存のファイルに追加する]を選択します。
Analytics テーブルに追加するときに、出力結果と既存のテーブルのレコード長を ACL に比較させたい場合は、[既存のファイルに追加する]を選択解除されたままにしておきます。レコード長が同一でなければ、データ構造は同じではなく、追加は正しく動作しません。
メモ
出力結果と既存のテーブルの構造が同一であるかどうかが不確かな場合は、[既存のファイルに追加する]を選択解除されたままにしておくことをお勧めします。追加およびデータ構造の詳細については、既存テーブルへの出力結果の追加を参照してください。
- [OK]をクリックします。
- 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。
[最後に追加]オプションが表示されることを期待していたのに表示されない場合は、[いいえ]をクリックして操作をキャンセルし、既存テーブルへの出力結果の追加を参照してください。