2014-10-30 141 views
0

我有一個呼叫中心代理(每日統計)表,由代理每天存儲。每日平均每日統計

我想獲得的所有代理的月平均,這樣我就可以比較月度統計數據,但是我目前的嘗試將在一個月內只顯示每日平均值,而不是平均整整一個月:

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) 

欣賞您可以提供的任何幫助(或需要澄清),並感謝您!


編輯: 希望這有助於一點,我知道上面是不是很大,在解釋什麼,我拍攝的。我期望提供的是該月的代理商統計數據總和的平均值。 (如果措詞正確)

例如,如果我有兩個代理都工作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

我剛剛用一些虛擬數據測試了你的代碼,它每月都會返回平均值。可能還有一些我沒有看到的東西。你能提供一組樣本數據和表格結構嗎? – 2014-10-30 15:02:36

+0

請編輯您的問題樣本數據和預期的結果。我不確定「整個月的平均水平」是什麼意思。 – 2014-10-30 15:04:48

回答

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()你的月份計算。這是多餘的。

+0

看起來很完美!沒有考慮除以伯爵(鮮明)非常感謝你! – George 2014-10-30 15:23:04