【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう
【連載】#18 Access を使ってグラフ作成用データをどのように作るか一緒に考えよう

本記事では前回の #18 記事で紹介された最初の方針の実装を目的として
T0000_東京都コロナ発症状況_マスタ テーブル
の [公表_年月日] フィールドの 最終日付 を取得する
集計-最大 クエリの使い方について紹介します。

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう
しらかば堂

いつも記事を読んで頂きありがとうございます~
今日の調子はいかがですか?

具体的には#18 記事中の
M1000_作成_T1040_日付_退院者数_入院者数_退院率 マクロ

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

内の
Q1010_作成_T1010_最終日付 クエリ
の説明になります。

最終日付の取得

まず #18 記事中でもご紹介したように、最終的に出力されるグラフ

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

の横軸となる 日付 データの個数を 400個 に固定するために

T0000_東京都コロナ発症状況_マスタ テーブル

一番新しい日付 を基準日として求めます。

基準日 を単純に ツールの起動日 とする考え方もありますが
東京都_新型コロナウイルス陽性患者発表詳細 に掲載され

個人のPC内の ダウンロード フォルダ配下に保存された
130001_tokyo_covid19_patients.csv

は東京都側、ダウンロード側とも必ずしも毎日更新しない

つまり一般にデータの 一番新しい日付ツールの起動日
同じではないことから

ツールの起動日 を基準にした場合、出力データの個数を固定できないことが予想されることから
T0000_東京都コロナ発症状況_マスタ テーブル
一番新しい日付基準日 とします。

Q1010_作成_T1010_最終日付
はこの 基準日 を獲得することを目的としたクエリで以下のように定義されています。

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

うわっ何じゃこれ?

そう思いませんでしたか?

 

入出力テーブルの確認

それではひとまずこの クエリ の入力テーブル と出力テーブル を確認しておきましょう。

入力テーブル は 16_01.accdb からリンク参照しているこちらの
T0000_東京都コロナ発症状況_マスタ
です。

説明のためレコードの最初の部分と最後の部分の2つを掲載します。

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう
【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

出力テーブルはこちらです。

T1010_最終日付

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

ここでやりたいことは

T0000_東京都コロナ発症状況_マスタ テーブル
内に含まれるレコードの最後尾のレコードの [公表_年月日フィールド 
抽出し、それをもとに
T1010_最終日付 テーブル
を作ることです。

クエリでどうやってそれを記述するんでしょうね?

それではいつものように
今回の手順の流れを実際に次の動画で何回か確認しておきましょう。

見づらいときは画面をフルスクリーンにすることをお勧めします。

集計クエリについて

動画の中で出てきた 集計クエリ について少し補足説明しておきますね。

通常、選択クエリのデザインビューは以下のようになっており

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

個々のフィールドに対する下の操作部分には

  • フィールド
  • テーブル
  • 並べ替え
  • 表示
  • 抽出条件
  • または

といった項目が並んでいます。

ここで実行できる操作は 並べ替え を除いては基本的に 個々のレコード に対する操作を表しています。

ここで リボンメニュー にある Σ(集計)  ボタンをクリックすると

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう


のように 集計 欄が現れ、規定値として[グループ化]という値が設定されています。

そしてこの[グループ化]という入力欄右側の▼のプルダウンメニューにカーソルを当てると

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

のように
グループ化
合計
平均
最小
最大

といったいろいろな 集計 関連の操作名が表示されます。

この 集計 関連の操作はいったい何をするものかというと

対象となる テーブル に含まれる、全てのレコードを対象とした 集計関連の全体操作を実行するためのものなんです。

このことを知ったうえで
Q1010_作成_T1010_最終日付  クエリ
の内容をもう一度見てみると

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

集計 欄 が 最大 となっていますよね。

これは T0000_東京都コロナ発症状況_マスタ テーブル 
[公表_年月日] フィールド 欄に含まれる全ての レコード の中で
最大 のもの(この例では 2021/07/23)を抽出せよ という意味です。

そして抽出された レコード
クエリの種類(U) > テーブル作成(K) 
テーブル名を T1010_最終日付 に指定し

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

T1010_最終日付 テーブル を作っているんですね。

まとめ

いかがですか?

今回は
東京都コロナ入院者数と退院者数比率推移グラフ
を作成するツール 18_01.accdb の最初の クエリ として

T0000_東京都コロナ発症状況_マスタ テーブル
の[公表_年月日] フィールド最終日付 を取得する
集計-最大 クエリの使い方について紹介しました。

次回はここで求めた 最終日付 を利用して

T0000_東京都コロナ発症状況_マスタ テーブル
から不要なレコード除外したうえで

日付退院者フラグ入院者フラグフィールド にもつ
T1020_日付_退院者フラグ_入院者フラグ テーブルを作成する クエリ処理 の内容について紹介していきます。

【連載】#19 Accessでテーブル内データの最大値を集計-最大クエリを使って求めよう

さてこの記事全体の目標は

  • 今の状況から抜け出してもっと前向きな仕事に取り組みたい
  • さっさと仕事を切り上げて充実したアフターファイブを過ごしたい

でしたよね。

あなたの解決したい問題は何ですか?
次回はまた

【連載】#20 Accessの選択クエリで式ビルダを使い関数、条件式の入力効率を高めよう

Access VBA の新しい窓を開きましょう。


Microsoft Access 関連教材は次のリンクからどうぞ。

Access VBA 関連教材の紹介


(有償)本記事中で参照している 16_01.accdb から個人のPC環境に依存する部分を削除した 16_02.zip のダウンロードは次のリンクからどうぞ。

(有償) 16_02.zip をダウンロードする