回答

收藏

按人,日期划分的12个月移动平均值

技术问答 技术问答 231 人阅读 | 0 人回复 | 2023-09-12

我有一个包含以下结构的表[production]:2 Y- |4 W0 R2 X* a" W% j& c
rep (char(10)cyc_date (datetime) ---- already standardized to mm/01/yyyy,amt (decimal)我有每个代表的数据,从2011年1月1日到2013年8月1日。我想做的是为每个代表创建一个12个月的移动平均线(从2012年1月1日开始),如下:& Z% y8 G$ V) W7 }8 y7 t
rep    cyc_dt    12moAvg-------------------------A   1/1/2012  .01A   .05.      ........    ........A   .32B   1/1/2012   .22B      ........    ........每行代表在指定时间内的12个月移动平均值。我发现了一些模糊的例子,但我的尝试没有帮助。似乎添加了一个group by( V: @. }4 K0 V# W3 o8 h9 o/ @
rep组件主要不同于其他示例。8 A% E+ o. }" S) P1 Z
据我所知:
; @( R( l* G4 O8 GSELECT    rep,   cyc_date,   (       SELECT Avg([amt])        FROM production Q        WHERE Q.[cyc_date] BETWEEN DateAdd("yyyy",-1,[cyc_date] 1) AND [cyc_date]   ) AS 12moavgFROM production由于相关子查询中没有分组,查询似乎提取了总体平均值或总和。当我试图分组时,如果有错误,最多只能返回一行。& O6 x  [; {% |# I, B+ S
                                                                1 v# x! N9 d$ s/ ^, [' K4 C
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则