Access。集計キーを複数指定して、店舗別男女の平均年齢を集計してみる
<Access>
集計するクエリでは、集計したいキーのフィールドを複数指定することができるので、店舗別に来店したお客様の性別ごとの平均年齢などを、簡単に集計することができるのも、Accessのクエリの特徴なのかもしれませんね。では、次のようなテーブルがあります。
1つは、T顧客データ。
もう一つが、T店舗名。
では、作成タブのクエリデザイン使って、クエリを作成していきます。
T顧客データの店舗NO
T店舗名の店舗名
T顧客データの性別
T顧客データの年齢
の各フィールドを使ってみますが、当然このままでは、店舗名が表示されただけのデータで集計をしてくれるわけではありません。
現状クエリがどうなっているのかを確認しておきましょう。
表示をデータシートビューに切り替えてみましょう。
そこで、まずは、集計させていきますので、デザインタブの集計をクリックします。
集計行が表示されますので、次のようにアレンジしていきます。
店舗NOですが、集計はグループ化します。これで店舗ごとに集計することができます。
これは、次の店舗名も同様です。
あと店舗NOは、並び替えを昇順にしておきます。
性別ですが、1なら男性・2なら女性という管理をしております。
T性別というテーブルを作ってそこから、男性・女性を参照させてもいいのですが、このように2件だけで固定されている場合は、演算フィールドとして、男・女を表示させるほうが効率的だと思われます。
そこで、性別のフィールドは、
男女: IIf([性別]=1,"男","女")
と演算フィールドを作っておきます。
性別フィールドが1だったら、男。そうでなければ、女と表示したいので、このような場合はIIf関数を使うといいですね。
今回は、性別ごとに集計しますので、集計行は、こちらもグループ化で設定しておきます。
最後に、平均した年齢を算出させますので、演算フィールドを作っていきます。
平均年齢: Round(Avg([年齢]),0)
Round関数をつかっているのは、年齢の平均を算出すると、だいたい小数が含まれた数値を算出することが多くあるので、Round関数を使うことで、小数以下を整えているわけですね。
集計関数のAvg関数ですが、Avg(フィールド名)で、平均を算出することができます。
最後の集計行ですが、集計関数を記述するときには、『演算』と設定します。
それでは、実行ボタンをクリックしてみましょう。
このように、各店舗別で性別ごとの平均年齢を算出することができましたね。
集計もクエリが得意としているうちの一つだと思いますので、色々クエリを作成してみるといいかもしれませんね。