Распределение операторов по статусам — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
[[Дополнительно|Наверх]]
 
[[Дополнительно|Наверх]]
  
Запрос показывает распределение операторов Call-центра по статусам "Готов", "Занят" и "Перерыв". В запросе имеется закомментированная строка для фильтрации данных по конкретной задаче.
+
Запрос показывает распределение операторов Call-центра по статусам "Готов", "Занят" и "Перерыв". Выборка происходит на основе всех изменений, которые происходили в состояниях операторов за все время. Если вы хотите выводить информацию об изменениях только за текущий день, раскомментируйте соответствующую строку.
 +
 
 +
Также в запросе имеется закомментированная строка для фильтрации данных по конкретной задаче.
  
 
<pre>
 
<pre>
Строка 16: Строка 18:
 
   (SELECT u.id, u.name ,  
 
   (SELECT u.id, u.name ,  
 
  coalesce((select top 1 s.state  from A_UserStateHistory s  
 
  coalesce((select top 1 s.state  from A_UserStateHistory s  
   WHERE s.UserId = u.id  and cast(s.TimeChange as DATE) = cast(getdate() as DATE)
+
   WHERE s.UserId = u.id   
 +
--and cast(s.TimeChange as DATE) = cast(getdate() as DATE)
 
   ORDER BY s.TimeChange DESC),0) [state]  
 
   ORDER BY s.TimeChange DESC),0) [state]  
 
FROM A_Users u
 
FROM A_Users u

Версия 12:56, 27 августа 2014

Наверх

Запрос показывает распределение операторов Call-центра по статусам "Готов", "Занят" и "Перерыв". Выборка происходит на основе всех изменений, которые происходили в состояниях операторов за все время. Если вы хотите выводить информацию об изменениях только за текущий день, раскомментируйте соответствующую строку.

Также в запросе имеется закомментированная строка для фильтрации данных по конкретной задаче.

SELECT  
  sum( CASE WHEN state = 1 THEN 1 ELSE 0 END) [Готов]
  ,sum( CASE WHEN state = 2 THEN 1 ELSE 0 END) [Перерыв]
  ,sum( CASE WHEN state = 5 or state=6 THEN 1 ELSE 0 END) [Занят]
  ,sum( CASE WHEN state = 0 THEN 1 ELSE 0 END) [Отключен]
  ,sum( CASE WHEN state = 3 THEN 1 ELSE 0 END) [Нет на месте]
  ,sum( CASE WHEN state = 7 THEN 1 ELSE 0 END) [Без телефона]
  
 
  FROM 
  (SELECT u.id, u.name , 
 coalesce((select top 1 s.state  from A_UserStateHistory s 
  WHERE s.UserId = u.id  
 --and cast(s.TimeChange as DATE) = cast(getdate() as DATE)
  ORDER BY s.TimeChange DESC),0) [state] 
FROM A_Users u
where u.id in (select OperatorId from [oktell_settings].[dbo].[A_TaskManager_Operators]
 --  where TaskId='25130D79-8766-4EAD-9C22-596CF2B465F9'
  )
  )j