ACCESSの集計で前月の値を簡単に表示する方法

2018年11月15日Windows関連,パソコン関連ACCESS,SQL,Windows,パソコン関連

今、毎月月初に集計したレポートを作成、提出する業務を行っています。

手元で扱えるDBならSQLですぐ集計も終わるのですが、元データがあちこちに分散しておりCSVやエクセル形式で取得したデータを取り扱うのでACCESSに取り込んでから集計、レポート作成を行っています。

その集計作業を行うクエリで使っている関数について防備六滴にまとめてみたいと思います。ちなみに使っているACCESSは2016になります。

スポンサーリンク

集計当日の前月のデータを取得する

例えば2015年10月の月初に2015年9月の集計を行う等、前月の値を集計したい事が多いと思います。これまでは日時のフィールドに対象年月を直接指定していましたが、この様なクエリを組んだら起動するだけで対象のデータを取得できる様になりました。

YearとMonth関数

抽出対象データは元テーブルの全データに設定し、Year関数とMonth関数はWhere条件にしています。このMonth関数から単純にマイナス1すれば前月のデータが取れます。ちなみに前々月のデータを対象にしたい場合は単純にマイナス2。便利でいいですね。

ただ書いてて思いましたが前年12月のデータを当年1月に取るはどうしたらよいのかは検討する必要がありそうです。

ACCESSでUNIONを使う

2つのテーブルを結合させるのにUNION ALLを使っています。ACCESSだとクエリでどうにかしないと行けない気になるのですが、実際はSQLビューでUNION ALLのSQLを記述すればいいだけでした。

改めて考えてみたらクエリはSQLをビジュアル化した物(と思っているので)、他の使えそうなSQLがあればフィールドを修正してSQLビューに貼り付け、クエリのデザインビューで細かい調整をするという方法も可能な訳です。

今回とは別件の集計を行う際、SQLを一部修正してコピペする事で作業時間が半分以下になりました。ちょっとした気付きって大事だと改めて思いました。

おわりに

ITのお陰で集計などの手間は本当に減りました。これほど便利な物は無いんですけどねぇ。世の中にはそういった物を「よくわからない」からと毛嫌いする方もいらっしゃるのが理解できません。

今不便に思っている事は使える物はしっかり使って、ドンドン簡単にしていきたいですね。

レクタングル

スポンサーリンク

2018年11月15日Windows関連,パソコン関連ACCESS,SQL,Windows,パソコン関連

Posted by たーさん