クロス集計(縦軸と横軸にそれぞれ集計の区分となる項目を設けて値を集計する方法)は日常的によく用いられます。しかし、Accessの特性上、さまざまなデータは縦に並べて整理されている場合が多く、基本的な集計機能でクロス集計を実現するのは困難です。そこで、Accessにはクロス集計クエリという機能が用意されています。
以下ではグループ化集計とクロス集計の簡単な例を比較したうえで、クロス集計クエリの作成例を紹介します。
グループ化集計とクロス集計の結果例
まず、グループ化集計とクロス集計の結果の違いをみてみます。
このようなテーブルに基づき、グループ化集計により担当者ごと、分類ごとの売上を集計してみると…
結果はこうなります。当然といえば当然の結果ですが、どの担当者がどの分類に多く売り上げているのかを比較しようとしたときに、いまひとつわかりにくいのは確かです。
そこで次にクロス集計を行った結果がこちらです。
縦軸に担当者の名前が表示され、横軸が販売分類が表示され、それぞれの欄には対応する売り上げの合計が表示されています。
視覚的にまとまりがよく、関心の対象となっている複数の区分に基づいて集計結果を容易に比較することができます。
なお、縦軸の項目(担当者名)は「値」として表示され、横軸の項目(売上分類)は「列名」として表示されていることに注意してください。
クロス集計クエリの作成例
上記のテーブルの再掲です。これをもとに上記のようなクロス集計を作成してみます。
クエリデザインの画面です。
このテーブルをデザイン上に追加したのち、上部のメニューにある「クロス集計」をクリックします。
すると下部のデザイングリッドの内容が少々変わり、「集計」「行列の入れ替え」という項目が加わります(一方で「表示」というチェックボックスはなくなります)。
そこでまずフィールド欄にて「担当者」を選択します。「集計」の値は勝手に「グループ化」となるのでそのままとし、「行列の入れ替え」は「行見出し」とします。
これにより「担当者」がクロス集計の縦軸の項目となります。
次にフィールド欄にて「売上分類」を選択し、「行列の入れ替え」は「列見出し」とします。
これにより「売上分類」がクロス集計の横軸の項目となります。
以上によりクロス集計の「枠」ができましたので、次に「金額」を集計して表示する設定を行います。
フィールド欄にて「金額」を選択し、「集計」欄は「合計」とします。
そして「行列の入れ替え」は「値」とします。
金額は縦横の軸になるのではなく集計の対象そのものですので、このような設定が必要となります。
以上で設定は終了となります。
(フィールド名の「金額」は後に「金額の合計: 金額」と自動的に修正されます)
データシートビュー(上記のクロス集計の再掲)です。