Access。Accessで月別集計や四半期集計のクエリをつくるならDatePart関数で算出します。
<Access:DatePart関数>
月別や四半期別で売上高を集計したいとします。
管理はAccessで行っています。
Excelにエクスポートすれば、ピボットテーブルで月別集計をしたり、日付から月を条件にして合算値を算出したりと、色々な方法で算出するわけですが、Accessだと意外と簡単に算出することができます。
次のテーブルがあります。
このデータを使って、「月別の売上高集計」を行いたいわけです。
Accessのテーブルでは数式をつくって算出するわけにはいきませんので、作成タブのクエリデザインで早速クエリを作成していきましょう。
Excelだったらば、MONTH関数をつかうことで、日付から月を算出することができます。
Accessにも、Month関数があるので、同じように、日付から月を算出することができるのですが、Accessには、DatePart関数というのがあって、引数の設定によって、「年」「月」などを引数内の設定を変えるだけで、算出することができます。
しかも、「四半期」での集計も容易になります。
なので、年だったら、Year関数。月ならMonth関数と、使い分けなくていいわけです。
せっかくなので、DatePart関数とMonth関数の算出結果が同じになること、確認しておきましょう。
DatePart関数の演算フィールドですが、
営業月: DatePart("m",[日付])
Month関数の演算フィールドは、
月: Month([日付])
と設定しておきます。
では、実行してみましょう。
どちらの演算フィールドも日付から「月」を抽出した算出結果になっていますね。
まだ、日付から月を抽出しただけなので、月別の合算値になっていませんので、作業を続けましょう。
では、デザインビューに切り替えて、日付と、月の演算フィールドを削除します。
デザインタブの集計をクリックして、集計行を表示させます。
売上高のフィールドは合算値を求めたいので、集計をグループ化から「合計」に変更します。
これで月別売上高集計を算出することができました。
四半期で算出をしたいときには、
営業月: DatePart("m",[日付])
の「m」を四半期の「q」に変更するだけで、四半期ごとの集計を行うことができます。
なお、引数の単位ですが、
yyyyだと、「年」を抽出することができます。これはYear関数と同じです。
qは「四半期」を抽出することができます。
mは「月」を抽出することができます。Month関数と同じですね。
yは「年間通算日」といって1月1日から数えた日数を算出することができます。
「年」が抽出されるわけではないので、注意が必要です。
dだと「日」を抽出することができます。
これはDay関数と同じですね。
wもあります。週の開始曜日から数えた日数を算出します。
Weekday関数と同じです。
wwが、第1週から数えた週数を算出してくれますが、「w」と間違えないようにしないといけませんね。
さて、完成した表ですが、売上月が数値のままですね。
折角なので、「~月」という表示にしましょう。
デザインビューにして、営業月: DatePart("m",[日付])の演算フィールドをアクティブにしておきます。
デザインタブの「プロパティシート」をクリックして、プロパティシート作業ウィンドウを表示させます。
標準タブにある「書式」に「0¥月」と入力します。
あとは実行して確認してみましょう。
表示形式を使って、月を表示させてみました。
ということで、Accessで月別や四半期別で集計をするときには、DatePart関数だけで対応することが可能です。