Access。クエリ。手早く年代別で集計したクエリをつくるにはどうすればいいの
<Access:Int関数>
10代・20代というような10歳ごとに区分した売上高の集計を算出したいのですが、どのようにしたら、年代別に区分して、集計することができるのでしょうか?
次のようなテーブルをつかいます。
年齢フィールドから年代を算出したフィールドがあるクエリをつくり、さらにその年代を算出したクエリをつかい、集計させるという方法でもいいのですが、これでは、クエリを複数作ることになり、少し面倒です。
そこで、Int関数をつかった演算フィールドをつくることで、一つのクエリだけで、年代別の売上高集計のクエリをつくることができます。
作成タブの「クエリデザイン」をつかって、クエリをつくっていきます。
デザインビューで、演算フィールドを作っていきます。
年代を算出するためのフィールドですが、演算フィールドをInt関数で設定します。
年代: Int([年齢]/10) & "0代"
この演算フィールドはどのように処理をしているのか、年齢が35のケースをつかって説明します。
[年齢]を10で除算しますので、35÷10=3.5
3.5はInt関数で、整数化されます。
Int(3.5)=3
算出された結果に、「&”0代”」と文字結合しています。
年代: Int([年齢]/10)*10 & "代"
というように、10倍してもいいですが、別に10倍する必要がないので、単に0付で文字結合しています。
あとは、集計行を表示しますので、クエリデザインタブにある「集計」をクリックします。
Excelだと「オートSUMボタン」と同じシグマのマークですが、惑わされないようにしましょう。
年代フィールドは、グループ化と設定します。
売上高は、合計を算出したいので、「合計」と設定します。
年代を昇順に設定したら、実行して確認してみましょう。
これで、複数のクエリを使わないで、年代別で売上高を集計することができました。
AccessもExcel同様に、年代別で算出する場合、色々なやり方がありますので、試してみるのもいいかもしれませんね。