Access入門(27)クエリで集計

以下は当記事に関連する動画です。本動画に関連する動画はすべてニコニコチャンネルにて閲覧可能です。
https://ch.nicovideo.jp/ai-light

本講座のシリーズは以下にて閲覧可能です。
https://www.nicovideo.jp/series/231327

本文に関連する動画は以下にて閲覧可能です。

今回は、クエリでデータの集計を行う方法について説明をします。
本稿では、以下の内容について解説を行っております。
1)クエリでのデータ集計とは
2)テーブルでの項目間の合計計算
3)集計クエリの内容
4)集計クエリの作成

1)クエリでのデータ集計とは
クエリでデータの集計を行うとは、具体的には担当者毎で売上を集計するとか、得意先毎に売上を集計するなどを行うことです。業務の中でデータに対して集計を取るという業務は多いのではないかと思います。

下図の通り、「登録日で集計」というクエリを作成しました。該当するクエリを実行する時は、選択してダブルクリックします。結果は右側に表示されます。

下図の通り、ナビゲーションウィンドウの「顧客管理」テーブルをダブルクリックすると、右側に顧客管理の内容が表示されます。上図のクエリでは、「顧客管理」テーブルの「集計」項目を登録日毎に集計しています。

2)テーブルでの項目間の合計計算
「顧客管理」テーブルでは、下図の「限度額」項目と「貯金」項目に入力した金額が「集計」項目に合計されるようになっています。

具体的に「集計」項目の設計情報を確認します。下図の左側のナビゲーションウィンドウで「顧客管理」テーブルを選択し、右クリックでメニューを表示し、「デザインビュー」を選択します。

右側に「顧客管理」の設計情報が表示されます。下図の真中当たりのフィールド名で「集計」項目を選択します。ちなみに「集計」項目のデータ型は「集計」となっています。データ型の「集計」は下図の下側の通り、フィールドプロパティを確認すると、式欄が[限度額]+[貯金]となっています。つまり、「集計」項目は「限度額」項目と「貯金」項目を足した値になっていることが確認できます。

3)集計クエリの内容
「登録日で集計」クエリを実行すると下図のようになります。このクエリでは登録日毎で「集計」項目を合計しています。

上図で「登録日」項目が「2017/02/03」と行の「集計の合計」項目が¥900となっていますが、これについて確認をします。下図の通り、「顧客管理」テーブルで「登録日」項目が「2017/02/03」となっている項目を選択し、マウスの右クリックでメニューを表示し、「2017/02/03に等しい」を選択します。

下図の通り、「登録日」項目の下矢印にてデータを抽出する場合と、上図ではメニューの項目が変わっているのが確認できます。上図の通り、特定の項目を選択している場合には、検索がその項目を基準とした選択が可能になることが分かります。

「顧客管理」テーブルにて「登録日」項目が「2017/02/03」のみを抽出した結果は、下図のようになります。右側の「集計」項目を確認すると、上段が「¥400」で下段が「¥500」となっており、確かに、「集計」項目の合計が「¥900」となっていることが確認できます。

「登録日で集計」クエリの設計情報を確認します。ナビゲーションウィンドウの「登録日で集計」クエリを選択し、マウスの右クリックでデザインビューを選択します。下図の通り、「登録日で集計」クエリの設計情報が表示されます。下図の左下を確認すると以下のようになっています。
フィールド:登録日
テーブル:顧客管理
集計:グループ化

つまりは、フィールドの登録日でグループ化を行っています。グループ化とは、同じ値同士を集計するということです。上で示したように、例えば、「顧客管理」テーブルで登録日が「2017/02/03」という項目が2行ありますが、それらを集計(グループ化)すると、1行となり、結果が合計されています。

集計項目に関しては、次のようになっています。
フィールド:集計の合計:集計
テーブル:顧客管理
集計:合計

フィールドの「集計の合計」は、クエリ上の表示項目名でその後ろの「集計」が「顧客管理」テーブルの項目名となります。グループ化はある項目を合計して表示しますので、その結果は「集計」項目の値とは異なります。そこで「集計の合計」のような別名を付けるわけです。

また、集計という欄が「合計」となっていますが、これは、言葉通りグループ化した項目の合計を表示します。集計方法に関しては、必ずしも「合計」に限らずに以下の内容を表示することも可能です。
平均
最小
最大
カウント
標準偏差
分散
先頭最後

4)集計クエリの作成
それでは、「登録日で集計」クエリを実際に作成します。下図の通り、「作成」タグで「クエリデザイン」を選択します。

下図の通り、「テーブルの表示」画面が表示されます。ここではクエリをどのテーブルなどから作成するかを選択します。「テーブルの表示」画面で「テーブル」「クエリ」「両方」とありますが、クエリは「テーブル」だけではなく「クエリ」からも作成できるということです。「両方」とは、「テーブル」と「クエリ」の両方から組み合わせてクエリを作成することが可能です。

Excelの場合だと、同じような項目を管理しているにも関わらず、用途が異なるという理由で同じような表を複数作成することがよくあるかと思います。その場合、一つのExcelを作成してから同じような表にデータを張り付けたりしていることがあるのではないでしょうか。

貼り付けを間違えることがあるかもしれませんし、何よりあまり生産的な仕事ではありません。アクセスの場合にはデータ入力用のテーブルを1つ作成し、そこから用途別に表示したい項目をピックアップしたクエリを作成することでExcelのように複数の表にデータを張り付けるといった作業を行わなくても良くなります。

今回は、「顧客管理」テーブルからクエリを作成するので、「テーブルの表示」画面で「テーブル」タグから「顧客管理」を選択して、「追加」ボタンを押します。すると、下図の通り、クエリの作成画面に「顧客管理」テーブルが追加されます。下図では「テーブルの表示」画面で「閉じる」ボタンを押して、「テーブルの表示」画面を閉じた状態です。その後、下図の通り、「デザイン」タグで集計項目を選択します。

下図の通り、「デザイン」タグで「集計」項目を選択すると「集計」項目がグレイとなり選択された状態になります。すると、下図の下部に「集計」という行が表示されます。

上図の状態で、図の真中に表示されている「顧客管理」テーブルの「登録日」項目をダブルクリックすると下図の通り、下部分に次のように表記されます。
フィールド:登録日
テーブル:顧客管理
集計:グループ化
これで「登録日」でグループ化するという設定ができました。

「顧客管理」テーブルの「集計」項目で集計を行いたいので、下図の真中の「顧客管理」テーブルにて「集計」項目をダブルクリックします。すると、下図の下部分の通り、次のように表記されます。
フィールド:集計
テーブル:顧客管理
集計:グループ化

現在の状態だと、登録日毎、集計毎にグループ化を行うことになってしまいます。そこで、下図の通り、フィールドの集計に対して集計行を「グループ化」から「合計」に変更します。

以上でクエリの設定ができました。作成したクエリに名前を付けます。下図の通り、右上の「×」ボタンを押すと、「’クエリ1`クエリの変更を保存しますか?」というダイアログボックスが表示されるので、「はい」ボタンを押します。

すると「名前を付けて保存」というダイアログボックスが表示されますので、クエリ名欄に作成したクエリに名前を付けます。今回は「登録日で集計」というクエリ名にしますので、クエリ名欄に「登録日で集計」と入力して「ok」ボタンを押します。

画面の左側のナビゲーションウィンドウ内のクエリ欄に「登録日で集計」が表示されます。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。