クロス集計クエリ

 クロス集計(縦軸と横軸にそれぞれ集計の区分となる項目を設けて値を集計する方法)は日常的によく用いられます。しかし、Accessの特性上、さまざまなデータは縦に並べて整理されている場合が多く、基本的な集計機能でクロス集計を実現するのは困難です。そこで、Accessにはクロス集計クエリという機能が用意されています。
 以下ではグループ化集計とクロス集計の簡単な例を比較したうえで、クロス集計クエリの作成例を紹介します。

グループ化集計とクロス集計の結果例

f:id:accs2014:20180527161219p:plain:right:w400

 まず、グループ化集計とクロス集計の結果の違いをみてみます。
 このようなテーブルに基づき、グループ化集計により担当者ごと、分類ごとの売上を集計してみると…


f:id:accs2014:20180527165500p:plain:right:w300

 結果はこうなります。当然といえば当然の結果ですが、どの担当者がどの分類に多く売り上げているのかを比較しようとしたときに、いまひとつわかりにくいのは確かです。


f:id:accs2014:20180527161239p:plain:right:w400

 そこで次にクロス集計を行った結果がこちらです。
 縦軸に担当者の名前が表示され、横軸が販売分類が表示され、それぞれの欄には対応する売り上げの合計が表示されています。
 視覚的にまとまりがよく、関心の対象となっている複数の区分に基づいて集計結果を容易に比較することができます。

 なお、縦軸の項目(担当者名)は「値」として表示され、横軸の項目(売上分類)は「列名」として表示されていることに注意してください。


クロス集計クエリの作成例

f:id:accs2014:20180527161219p:plain:right:w400

 上記のテーブルの再掲です。これをもとに上記のようなクロス集計を作成してみます。


f:id:accs2014:20180527161216p:plain:right:w400

 クエリデザインの画面です。
 このテーブルをデザイン上に追加したのち、上部のメニューにある「クロス集計」をクリックします。


f:id:accs2014:20180527161213p:plain:right:w400

 すると下部のデザイングリッドの内容が少々変わり、「集計」「行列の入れ替え」という項目が加わります(一方で「表示」というチェックボックスはなくなります)。


f:id:accs2014:20180527161210p:plain:right:w400

 そこでまずフィールド欄にて「担当者」を選択します。「集計」の値は勝手に「グループ化」となるのでそのままとし、「行列の入れ替え」は「行見出し」とします。
 これにより「担当者」がクロス集計の縦軸の項目となります。
 次にフィールド欄にて「売上分類」を選択し、「行列の入れ替え」は「列見出し」とします。
 これにより「売上分類」がクロス集計の横軸の項目となります。


f:id:accs2014:20180527161207p:plain:right:w400

 以上によりクロス集計の「枠」ができましたので、次に「金額」を集計して表示する設定を行います。
 フィールド欄にて「金額」を選択し、「集計」欄は「合計」とします。


f:id:accs2014:20180527161245p:plain:right:w400

 そして「行列の入れ替え」は「値」とします。
 金額は縦横の軸になるのではなく集計の対象そのものですので、このような設定が必要となります。


f:id:accs2014:20180527161242p:plain:right:w400

 以上で設定は終了となります。
(フィールド名の「金額」は後に「金額の合計: 金額」と自動的に修正されます)


f:id:accs2014:20180527161239p:plain:right:w400

 データシートビュー(上記のクロス集計の再掲)です。