Поиск повторных вызовов в данных колл-центра - PullRequest
0 голосов
/ 13 января 2020

Я новичок в SQL и использую SQL Server 2012.

Мне нужно посчитать, сколько раз телефонный номер перезванивал после первого звонка, в течение 24/48/168 часов и отметьте это агенту, который принял первый вызов.

Цель состоит в том, чтобы идентифицировать агентов, которые генерируют много обратных вызовов, чтобы мы могли определить их приоритетность для программ обучения.

Мне нужно что-то похожее на:

LastLocalName   Total_Calls Total_Repeating_24  Total_Repeating_48  Total_Repeating_168
Minnie Mouse    2           1                   1                   1 
Mickey Mouse    26          2                   10                  12

Мне все равно, будут ли группы из 48/168 часов включать один и тот же вызов в предыдущие столбцы. Это может быть элемент уровня.

Я искал везде, где Google может указать мне, и нашел запросы, которые несколько работают, и вот где я остановился (взято из другого вопроса о повторном вызове на этой доске):

;with Call_ordinal_no as (
  select 
    convert(date, [StartDateTimeUTC]) as CallDate,
    [LastLocalName],
       row_number() over (
      partition by 
        convert(date, [StartDateTimeUTC]),
      [LastLocalName]
      order by [StartDateTimeUTC]
    ) as RemoteNumberFmt
  from [InteractionSummary]
WHERE startdatetimeutc Between '2020-01-01 00:00:00' and '2020-01-13 11:59:59'
And LastLocalUserId IS NOT NULL
And LastAssignedWorkgroupID = 'ISR Service'
)


select 
  CallDate as StartDateTimeUTC,
  LastLocalName,
  count (*) as Total_Calls,
  sum(case when RemoteNumberFmt > 1 then 1 else 0 end) as Total_Repeating
from Call_ordinal_no

group by CallDate, LastLocalName
order by CallDate;

То, что я в итоге получаю от этого, действительно не соответствует моим потребностям. Все результаты смещены на 1. Это выглядит так:

StartDateTimeUTC    LastLocalName   Total_Calls Total_Repeating
2020-01-02           Minnie Mouse   2           1
2020-01-02           Mickey Mouse   26          25

Дополнительная информация: я пробовал это в Excel и Tableau. Я успешно сформулировал этот результат в Excel, но объем данных не может быть обработан в Excel, и мне было приказано сделать это непосредственно в базе данных. Мы добавляем ~ 10 тыс. Строк данных в день, и это должно быть постоянным до t ie в живой панели инструментов Tableau. Таблица (по словам разработчиков, с которыми я говорил) не может рассчитывать на этих данных таким образом. Они тоже направили меня обратно к SQL.

...