Распределение операторов по статусам — различия между версиями
Материал из Oktell
(Новая страница: «Наверх Запрос показывает распределение операторов Call-центра по статус…») |
м (Oktell Support переименовал страницу Статусы операторов в Call-центре в Распределение операторов по статусам) |
||
(не показано 5 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[ | + | [[Работа с БД Oktell|Наверх]] |
− | Запрос показывает распределение операторов Call-центра по статусам "Готов", "Занят" и "Перерыв". | + | Запрос показывает распределение операторов Call-центра по статусам "Готов", "Занят" и "Перерыв". Выборка происходит на основе всех изменений, которые происходили в состояниях операторов за все время. Если вы хотите выводить информацию об изменениях только за текущий день, раскомментируйте соответствующую строку. |
+ | |||
+ | Также в запросе имеется закомментированная строка для фильтрации данных по конкретной задаче. | ||
<pre> | <pre> | ||
Строка 8: | Строка 10: | ||
,sum( CASE WHEN state = 2 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 = 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 | FROM | ||
− | (SELECT | + | (SELECT u.id, u.name , |
− | (select top 1 s.state from A_UserStateHistory s WHERE s.UserId = u.id ORDER BY s.TimeChange DESC) [state] | + | 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 | FROM A_Users u | ||
where u.id in (select OperatorId from [oktell_settings].[dbo].[A_TaskManager_Operators] | where u.id in (select OperatorId from [oktell_settings].[dbo].[A_TaskManager_Operators] |
Текущая версия на 08:59, 3 марта 2015
Запрос показывает распределение операторов 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