我正在計算呼叫中心呼叫量在一週中同一天的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表格中,或者預期的輸出結果是什麼樣子? –