我正在计算呼叫中心呼叫量在一周中同一天的6周移动平均值。6周在同一天的移动平均数
我的意思是相同的6前几天(最近6个星期二,去年6个星期三等)
我有下面的代码的工作,但不灵活可言:
SELECT
[ROW_DATE],
[DEPARTMENT_DESC],
[totalcalls],
AVG([TOTALCALLS]) OVER(ORDER BY [DEPARTMENT_DESC],
[ROW_DATE] ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS [MOVING_AVG]
FROM
(
SELECT
[ROW_DATE] AS [ROW_DATE],
[DEPARTMENT_DESC] AS [DEPARTMENT_DESC],
SUM([CALLS_OFFERED_ACTUALS]) AS [TOTALCALLS]
FROM [GEMDB].[dbo].[V_PRD_ACT_HSPLIT_intradayLCWcallsTable]
WHERE ROW_DATE IN(CONVERT(DATE, GETDATE() - 42), CONVERT(DATE, GETDATE() - 7), CONVERT(DATE, GETDATE() - 14), CONVERT(DATE, GETDATE() - 21), CONVERT(DATE, GETDATE() - 28), CONVERT(DATE, GETDATE() - 35))
AND [DEPARTMENT_DESC] = 'techops'
GROUP BY
ROW_DATE,
[DEPARTMENT_DESC]
) AS tbl
ORDER BY
ROW_DATE,
[DEPARTMENT_DESC];
输出看起来是这样的: Moving Average for August 23rd
与上面的代码的问题是它给了我1天的一周(8月23日)的价值。 我想获得过去7天的6周移动平均线,没有写入GETDATE 49次,这将是疯狂的。
任何帮助,将不胜感激。
你能告诉就像在一个模拟的Excel表格中,或者预期的输出结果是什么样子? –