Microsoft Access 掲示板

動的に過去数カ月間の平均値を算出するクエリ / 4

7 コメント
views
4 フォロー
4

別案

下記のテーブルを作成します。

T_連番

連番
1
2
3
4
5
6

下記のクエリを作成。

Q_月繰り返し

PARAMETERS 基準日を入力 DateTime;
SELECT A.連番, DateAdd("m",1-[B].[連番],[基準日を入力]) AS 対象月
FROM T_連番 AS A, T_連番 AS B
WHERE A.連番>=B.連番;

出力例(パラメータに「2018/06/01」と入力)

連番対象月
62018/01/01
62018/02/01
62018/03/01
62018/04/01
62018/05/01
62018/06/01
52018/02/01
52018/03/01
52018/04/01
52018/05/01
52018/06/01
42018/03/01
42018/04/01
42018/05/01
42018/06/01
32018/04/01
32018/05/01
32018/06/01
22018/05/01
22018/06/01
12018/06/01

このクエリと労働時間データテーブルを結合してクロス集計クエリを作成すれば希望の結果になります。

TRANSFORM Round(Avg([時間]),1) AS 式1
SELECT 労働時間データ.氏名
FROM 労働時間データ INNER JOIN Q_月繰り返し ON 労働時間データ.対象月 = Q_月繰り返し.対象月
GROUP BY 労働時間データ.氏名
ORDER BY Q_月繰り返し.連番 DESC 
PIVOT Q_月繰り返し.連番;
通報 ...