我有一个呼叫中心座席表(每日统计数据),每天由座席存储。
我想获得所有代理商的月平均值,因此我可以将月度统计数据与之进行比较,但我目前的尝试仅显示该月的平均值,而不是整个月的平均值:
select
Convert(Date, DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0),0),
AVG(CallsAnswered)
FROM
dbo.AvayaD_Agent_Stat
GROUP BY
Convert(Date, DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0),0)
感谢您提供的任何帮助(或需要澄清),谢谢!
修改 希望这有点帮助,我意识到上述并不是很好地解释我正在拍摄的东西。我想要生成的是该月代理统计数据总和的平均值。 (如果措辞正确的话)
例如,如果我有2个代理人都工作10天,一个人每天接听10个电话,另一个人每天接听20个电话。目前,使用上面的查询显示为15个调用。我想将它作为150个电话(总共300个电话/ 2个座席)。然而,我遇到的问题是我不能放置一定数量的天/代理,因为它总是在变化。
根据要求包括更大的表格片段。
select Date,
AgentLogin,
CallsAnswered
from dbo.AvayaD_Agent_Stat
Date AgentLogin CallsAnswered
2014-08-11 1005 21
2014-08-12 1005 21
2014-08-13 1005 23
2014-08-14 1005 18
2014-08-15 1005 16
2014-08-18 1005 25
2014-08-19 1005 44
2014-08-20 1005 17
2014-08-21 1005 25
2014-08-22 1005 12
2014-08-25 1005 23
2014-08-26 1005 32
2014-08-27 1005 24
答案 0 :(得分:1)
如果您想要整个月的每个代理商的平均值,请总结该月的总数,然后除以代理商的数量:
select DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0),
SUM(CallsAnswered) / COUNT(DISTINCT AgentId)
FROM dbo.AvayaD_Agent_Stat
GROUP BY DATEADD(MONTH, DATEDIFF(MONTH, 0, Date), 0)
注意我还删除了您月份计算的最终convert()
。这是多余的。