hatena
hatena
2019/03/26 (火) 17:47:16
別案
下記のテーブルを作成します。
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」と入力)
連番 | 対象月 |
---|---|
6 | 2018/01/01 |
6 | 2018/02/01 |
6 | 2018/03/01 |
6 | 2018/04/01 |
6 | 2018/05/01 |
6 | 2018/06/01 |
5 | 2018/02/01 |
5 | 2018/03/01 |
5 | 2018/04/01 |
5 | 2018/05/01 |
5 | 2018/06/01 |
4 | 2018/03/01 |
4 | 2018/04/01 |
4 | 2018/05/01 |
4 | 2018/06/01 |
3 | 2018/04/01 |
3 | 2018/05/01 |
3 | 2018/06/01 |
2 | 2018/05/01 |
2 | 2018/06/01 |
1 | 2018/06/01 |
このクエリと労働時間データ
テーブルを結合してクロス集計クエリを作成すれば希望の結果になります。
TRANSFORM Round(Avg([時間]),1) AS 式1
SELECT 労働時間データ.氏名
FROM 労働時間データ INNER JOIN Q_月繰り返し ON 労働時間データ.対象月 = Q_月繰り返し.対象月
GROUP BY 労働時間データ.氏名
ORDER BY Q_月繰り返し.連番 DESC
PIVOT Q_月繰り返し.連番;
通報 ...