クエリのグループ化を理解しよう

基本的なクエリの作り方は前回の通りになります。
さて、次のステップとしては「グループ化」を行ってみましょう

参照:クエリの基本的な作り方

グループ化とは

グループ化とは同じ種類や分類で一括りにすることです。

Accessにおいては「○○の売上」、「○○の販売件数」などの、「○○」にあたるもので、集計単位と言うことができます。

と言っても難しいので、まず行ってみて、どういうものか見てみましょう。

グループ化のやり方

例えば下記のようなテーブルがあるとします。
6行目と7行目が完全に同一(重複データ)になります。


グループ化のやり方は、デザイン画面で集計ボタンを押してください。
そうすると、フィールド画面で「グループ化」の列が表示されます。

上記のクエリを実行した結果が下記になります。

8行あったデータが、7つになっていますね。完全に重複していた6行目と7行目が1つになった結果です。

グループ化の事例を見てみる

このようにグループ化とは、Excelで言うところの「重複データの削除」と同じことが可能です。

しかし、もっと応用が利くものですので、よく理解しておく必要があるでしょう。

同じグループの合計を出す

例えば、売上だけ「グループ化」ではなく、「合計」を選択した場合、一緒のグループとしてデータが1つになってしまうだけではなく、2200+2200=4400として、売上は同一グループの合計値が計算されて出てくることになります。

社員別の売上合計を出す

これを応用すれば、例えば「社員別の売上合計が見たい」と言った時、下記のように社員の項目をグループ化、売上を合計で、社員別の売上を出すことが出来ます。

例えば商品の項目を追加してみると…

逆に例えば「社員ごとの売上」が知りたいのに、商品などの項目を加えてしまうと下記のように社員が2つとか3つとか複数表示されてしまい、「社員ごと」という要望が満たせません

グループ化のよくある2つのミス

クエリを組む際に、最もミスが多く出るのは、このグループ化の部分です。

よくあるミスの形としては

テーブル項目の特徴を誤って認識している

例えば下記のように社員名が「鈴木」「鈴木 太郎」「鈴木さん」など、同一人物でも記載されている表記がバラバラのテーブルがあったとします。

このテーブルで「社員別の売上」が知りたいため、「社員」でグループ化して売上合計を出したところ、下記のように『バラバラの表記ごと』の売上合計となってしまいました。

社員の項目が「社員名が書かれているんだ」とだけ認識し、表記ゆれがありうる項目ということを認識していないことが原因です。

この例では数が少ないのですぐに気づきますが、数が数千、数万に及ぶ場合、ちゃんとチェックしないとミスに気付かず見逃してしまう結果になります。

グループ化を行う際は、必ず表記ゆれが発生するものかどうかを確認しましょう

この場合は表記揺れの無い「社員コード」があるので、社員コードごとに集計を取るのが正解になります。

余計な項目をグループに入れてしまう

上記のテーブルで社員コードで集計しなければいけないことは理解しました。

しかし、個人ごとの集計だけでなく、支店ごとの集計も行わないといけないとします。

このとき、やりがちなミスは「個人」と「支店」で別々に集計を作るのではなく、両方いっぺんに行おうとして、「個人」と「支店」の2つをクエリに盛り込んでしまうことです。

この場合、A001(鈴木さん)が2つ出てきてしまっていることが判ると思います。

テーブルをよく見てみると、鈴木さんは7/10までは東京支店に所属していましたが、7/18時点では異動があり大阪支店に所属となっているのです。

個人別の集計を行う場合は「個人ごと」のグループを、支店別の集計を行う場合は「支店ごと」のグループをきっちり個別に作って集計を行うとミスが少なくなります。

あれもこれもと余計な項目を盛り込むのを止めることで防げます。

以上

クエリのグループ化を使いこなせるようになると、かなり理解は進んでいると言えます。

ちょっと難しい部分ではありますが、利用するテーブルの特性をよく調べて、効率的に処理できるようになりましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です