我想计算4行的移动平均值。我在网上搜索并尝试了不同的方法,但我没有得到结果。这是我的表格的一个例子
Week DATES CURRYR MOVINGAVG
1 4/7/2017 351,929.76
2 4/14/2017 352,202.99
3 4/21/2017 483,987.60
4 4/28/2017 358,125.55 (AVG CURRYR 0F #1-#4)
5 5/5/2017 335,180.47 (AVG CURRYR 0F #2-#5)
6 5/12/2017 421,693.56 (AVG CURRYR 0F #3-#6)
7 5/19/2017 394,410.34 (AVG CURRYR 0F #4-#7)
8 5/26/2017 437,064.82 (AVG CURRYR 0F #5-#8)
9 6/2/2017 536,921.87 (AVG CURRYR 0F #6-#9)
10 6/9/2017 358,177.15 (AVG CURRYR 0F #7-#10)
11 6/16/2017 418,651.36 (AVG CURRYR 0F #8-#11)
12 6/23/2017 402,590.79 (AVG CURRYR 0F #9-#12)
13 6/30/2017 407,775.24 (AVG CURRYR 0F #10-#13)
14 7/7/2017 391,020.15 (AVG CURRYR 0F #11-#14)
所以没有......
有没有办法可以在MS ACCESS
中执行此操作答案 0 :(得分:0)
我asusme你的真实数据还有一些东西要加入,在这种情况下你需要将它们带入子查询。这也是有效的,因为Weeks
是一个完整的列表(即你没有第15周,第16周,第18周,第20周,这将弄乱它,逻辑需要改变)。
SELECT o.Week
,o.DATES
,o.CURRYR
,(
SELECT avg(CurrYR)
FROM Table1 i
WHERE i.week <= o.week
AND i.week >= (o.week - 3)
having count(*) >=4
) AS MovingAverage
FROM Table1 o
Week DATES CURRYR MovingAverage
1 4/7/2017 351,929.76
2 4/14/2017 352,202.99
3 4/21/2017 483,987.60
4 4/28/2017 358,125.55 386561.475
5 5/5/2017 335,180.47 382374.1525
6 5/12/2017 421,693.56 399746.795
7 5/19/2017 394,410.34 377352.48
8 5/26/2017 437,064.82 397087.2975
9 6/2/2017 536,921.87 447522.6475
10 6/9/2017 358,177.15 431643.545
11 6/16/2017 418,651.36 437703.8
12 6/23/2017 402,590.79 429085.2925
13 6/30/2017 407,775.24 396798.635
14 7/7/2017 391,020.15 405009.385