2016-07-22 2 views
0
SELECT 
     COUNT(CALL_KEY) AS CONTACTS, 
     SUM(CASE WHEN answer_time IS NOT NULL AND A.ent_split IS NOT NULL AND call_type NOT LIKE 'PBX%' THEN 1 ELSE 0 END) AS CH, 
     CAST((CAST(SUM(A.talk_time) 
    /(CASE WHEN COUNT(A.answer_time) = 0 THEN 1 ELSE COUNT(A.answer_time) END) AS float) + CAST(SUM(A.hold_time) AS float) 
    /(CASE WHEN COUNT(A.answer_time) = 0 THEN 1 ELSE COUNT(A.answer_time) END)) + CAST(SUM(A.work_time) AS float) 
    /CAST(COUNT(CASE WHEN A.answer_time > 0 THEN 1 ELSE 1 END) AS numeric(8, 2)) AS Int) AS AHT, 
     SUM(CASE WHEN abandon_time IS NOT NULL AND answer_time IS NULL THEN 1 ELSE 0 END) AS Total_ABN, 
     SUM(A.answer_speed) AS ASA, 
     SUM(CASE WHEN answer_time IS NOT NULL AND A.ent_split IS NOT NULL AND call_type NOT LIKE 'PBX%' THEN 1 ELSE 0 END) + SUM(CASE WHEN abandon_time IS NOT NULL AND answer_time IS NULL THEN 1 ELSE 0 END) AS CO 


FROM reporting_call_matrix AS A WITH (NOLOCK) 
WHERE A.CALENDAR_DATE >= '5/31/2016' AND A.CALENDAR_DATE <= '7/19/2016' AND A.SPLIT IN (43) AND (A.ent_split IS NOT NULL) 

Вот мои результатыКак сломать мои результаты вниз в месяцы

CONTACTS CH AHT Total_ABN ASA CO 
17199   16744 640  448  580643 17192 
+0

Обзорной это до пост. .. [Как группировать по месяцам из поля «Дата» с использованием sql] (http://stackoverflow.com/questions/14565788/how-to-group-by-month-from-date-field-using-sql) – JohnH

ответ

0

Предполагая, что месяц может быть получена из A.CALENDAR_DATE колонны

SELECT Month(A.CALENDAR_DATE) as Month, 
     COUNT(CALL_KEY) AS CONTACTS, 
     SUM(CASE WHEN answer_time IS NOT NULL AND A.ent_split IS NOT NULL AND call_type NOT LIKE 'PBX%' THEN 1 ELSE 0 END) AS CH, 
     CAST((CAST(SUM(A.talk_time) 
    /(CASE WHEN COUNT(A.answer_time) = 0 THEN 1 ELSE COUNT(A.answer_time) END) AS float) + CAST(SUM(A.hold_time) AS float) 
    /(CASE WHEN COUNT(A.answer_time) = 0 THEN 1 ELSE COUNT(A.answer_time) END)) + CAST(SUM(A.work_time) AS float) 
    /CAST(COUNT(CASE WHEN A.answer_time > 0 THEN 1 ELSE 1 END) AS numeric(8, 2)) AS Int) AS AHT, 
     SUM(CASE WHEN abandon_time IS NOT NULL AND answer_time IS NULL THEN 1 ELSE 0 END) AS Total_ABN, 
     SUM(A.answer_speed) AS ASA, 
     SUM(CASE WHEN answer_time IS NOT NULL AND A.ent_split IS NOT NULL AND call_type NOT LIKE 'PBX%' THEN 1 ELSE 0 END) + SUM(CASE WHEN abandon_time IS NOT NULL AND answer_time IS NULL THEN 1 ELSE 0 END) AS CO 

FROM reporting_call_matrix AS A WITH (NOLOCK) 
WHERE A.CALENDAR_DATE >= '5/31/2016' AND A.CALENDAR_DATE <= '7/19/2016' AND A.SPLIT IN (43) AND (A.ent_split IS NOT NULL) 
Group by Month(A.CALENDAR_DATE) 
+0

Спасибо этой работе отлично .. – kickster09

Смежные вопросы