回答編集履歴

3

追記

2019/03/14 09:21

投稿

sazi
sazi

スコア25184

test CHANGED
@@ -67,3 +67,5 @@
67
67
  group by 年度, 見積月
68
68
 
69
69
  ```
70
+
71
+ ※上記のB部分を別途クエリーにして使用すると、少し記述が簡潔になりますね。

2

訂正

2019/03/14 09:21

投稿

sazi
sazi

スコア25184

test CHANGED
@@ -20,11 +20,13 @@
20
20
 
21
21
  以下でどうでしょうか。
22
22
 
23
+ ※年度考慮もれを訂正
24
+
23
25
  ```SQL
24
26
 
25
27
  select
26
28
 
27
- Format(DateAdd("m",-3,見積月), "yyyy") AS 年度
29
+ 年度
28
30
 
29
31
  , Format(見積月, "yyyy") As 年
30
32
 
@@ -34,20 +36,34 @@
34
36
 
35
37
  from (
36
38
 
37
- select A.見積月, B.ユーザーID
39
+ select A.年度, A.見積月, B.ユーザーID
38
40
 
39
- from (select 見積月 from 元データ group by 見積月) As A
41
+ from (
40
42
 
41
- inner join
43
+ select Format(DateAdd("m",-3,見積月), "yyyy") AS 年度, 見積月
42
44
 
43
- (select 見積月, ユーザーID from 元データ group by 見積月, ユーザーID) As B
45
+ from 元データ
44
46
 
45
- on A.見積月>=B.見積月
47
+ group by Format(DateAdd("m",-3,見積月), "yyyy") , 見積月
46
48
 
49
+ ) As A
50
+
51
+ inner join (
52
+
53
+ select Format(DateAdd("m",-3,見積月), "yyyy") AS 年度, 見積月, ユーザーID
54
+
55
+ from 元データ
56
+
57
+ group by Format(DateAdd("m",-3,見積月), "yyyy"), 見積月, ユーザーID
58
+
59
+ ) As B
60
+
61
+ on A.年度=B.年度 and A.見積月>=B.見積月
62
+
47
- group by A.見積月, B.ユーザーID
63
+ group by A.年度, A.見積月, B.ユーザーID
48
64
 
49
65
  ) As C
50
66
 
51
- group by 見積月
67
+ group by 年度, 見積月
52
68
 
53
69
  ```

1

追記

2019/03/14 09:16

投稿

sazi
sazi

スコア25184

test CHANGED
@@ -11,3 +11,43 @@
11
11
 
12
12
 
13
13
  デザインビューだと駄目でしょうけど、SQLビューだと実行できそうですけど。
14
+
15
+
16
+
17
+ 追記
18
+
19
+ --
20
+
21
+ 以下でどうでしょうか。
22
+
23
+ ```SQL
24
+
25
+ select
26
+
27
+ Format(DateAdd("m",-3,見積月), "yyyy") AS 年度
28
+
29
+ , Format(見積月, "yyyy") As 年
30
+
31
+ , Format(見積月, "m") As 月
32
+
33
+ , Count(*) As ユーザー数
34
+
35
+ from (
36
+
37
+ select A.見積月, B.ユーザーID
38
+
39
+ from (select 見積月 from 元データ group by 見積月) As A
40
+
41
+ inner join
42
+
43
+ (select 見積月, ユーザーID from 元データ group by 見積月, ユーザーID) As B
44
+
45
+ on A.見積月>=B.見積月
46
+
47
+ group by A.見積月, B.ユーザーID
48
+
49
+ ) As C
50
+
51
+ group by 見積月
52
+
53
+ ```