Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Нет скина)
  • Нет скина
Collapse

Networks Engineering

  1. Главная
  2. Совместная работа (Collaboration)
  3. Контакт-центр (Contact Center)
  4. скрипт для перевода вызовов скрипт-скрипт или DN-DN

скрипт для перевода вызовов скрипт-скрипт или DN-DN

Запланировано Прикреплена Закрыта Перенесена Контакт-центр (Contact Center)
10 Сообщения 0 Posters 0 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • K Не в сети
    K Не в сети
    kavle
    написал в отредактировано
    #1

    Привет, команда! Мне нужна помощь в извлечении информации из запроса в один отчет. У меня есть запрос, с помощью которого я могу извлечь данные только для вызовов, которые были слепо переведены на скрипт назначения. Ниже приведен запрос, который я использую для извлечения данных о общем количестве вызовов, переведенных на определенный DN. Но этот запрос не будет включать основной DN и основного агента.
    $$$$$$$$$$$$$$$$$
    SELECT DISTINCT RouterCallKeySequenceNumber, RouterCallKey, RouterCallKeyDay, EnterpriseName, CallDisposition , DateTime , DigitsDialed , NewTransaction,DNIS,ANI , Termination_Call_Detail.DateTime FROM Termination_Call_Detail
    INNER JOIN Peripheral
    ON Termination_Call_Detail.PeripheralID = Peripheral.PeripheralID
    WHERE DateTime BETWEEN '2024-01-01' and '2024-01-17' and CallDisposition = 28 and RouterCallKeySequenceNumber > 1
    AND DigitsDialed = '9998800560'
    order by Termination_Call_Detail.DateTime
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    Может ли кто-нибудь помочь мне с информацией по запросу - где я могу получить данные с подробностями исходного скрипта или набранного номера и скрипта назначения или набранного номера вместе с подробностями основного агента и вторичного агента в одном отчете (это то, что мы ищем, чтобы понять .. сколько звонков было переведено агентам службы ремонта от агентов отдела продаж, когда агенты отдела продаж хотят перевести звонок в службу ремонта, они набирают DN службы ремонта, и это попадает в скрипт службы ремонта)))
    с помощью RCKey и RCkeyday я могу извлечь детали отдельных звонков с полной информацией, но я не понимаю, как извлечь все детали в одном отчете.

    1 ответ Последний ответ
    0
    • O Не в сети
      O Не в сети
      Omar Deen
      написал в отредактировано
      #2

      С помощью моего коллеги и Stackoverflow, вот мой лучший вариант DECLARE @dateFrom DATETIME
      SET @dateFrom = CAST(FLOOR(CAST(GETDATE AS FLOAT)) AS DATETIME)
      ;WITH RouterDetail(RCKD, RCK, ClientCallKey, ScriptName, BeganRoutingDateTime, DialedNumberString)
      AS
      (SELECT
      RCD.RouterCallKeyDay, RCD.RouterCallKey, RCD.RoutingClientCallKey, MS.EnterpriseName ScriptName, RCD.BeganRoutingDateTime, RCD.DialedNumberString
      FROM Route_Call_Detail RCD
      LEFT JOIN Script S ON RCD.ScriptID = S.ScriptID
      LEFT JOIN Master_Script MS ON S.MasterScriptID = MS.MasterScriptID
      WHERE RCD.DateTime > @dateFrom
      )
      SELECT
      TCD.RouterCallKeyDay, TCD.RouterCallKey,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN TCD.DigitsDialed END) AS OriginalDigitsDialed,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN P.FirstName + ' ' + P.LastName END) AS OriginalAgent,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN PQ.EnterpriseName END) AS OriginalAgentSkillGroup,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN RCD.ScriptName END) AS OriginalScript,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN RCD.BeganRoutingDateTime END) AS TransferDateTime,
      MAX(CASE WHEN RCD.ClientCallKey = 0 THEN RCD.DialedNumberString END) AS TransferDestination,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN TCD.DigitsDialed END) AS XferToDigitsDialed,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN P.FirstName + ' ' + P.LastName END) AS XferToAgent,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN PQ.EnterpriseName END) AS XferToAgentSkillGroup,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN RCD.ScriptName END) AS XferToScript,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN RCD.BeganRoutingDateTime END) AS XferToTransferDateTime,
      MAX(CASE WHEN RCD.ClientCallKey > 0 THEN RCD.DialedNumberString END) AS XferToExtension
      FROM Termination_Call_Detail TCD
      LEFT JOIN Agent A ON TCD.AgentSkillTargetID = A.SkillTargetID
      LEFT JOIN Person P ON A.PersonID = P.PersonID
      LEFT JOIN Precision_Queue PQ ON TCD.PrecisionQueueID = PQ.PrecisionQueueID
      LEFT JOIN Skill_Group SG ON TCD.SkillGroupSkillTargetID = SG.SkillTargetID,
      RouterDetail RCD
      WHERE TCD.RouterCallKeyDay = RCD.RCKD
      AND TCD.RouterCallKey = RCD.RCK
      AND TCD.DateTime > @dateFrom
      AND RCD.ClientCallKey >= 0
      AND TCD.CallDisposition IN (28,29,30)
      AND TCD.DateTime > @dateFrom
      GROUP BY TCD.RouterCallKeyDay, TCD.RouterCallKey

      1 ответ Последний ответ
      0
      • K Не в сети
        K Не в сети
        kavle
        написал в отредактировано
        #3

        Большое спасибо за запрос
        [, @Omar Deen.] Я вижу, что запрос использует Getdate, который извлекает текущую дату, однако я хочу извлечь отчет за определенный диапазон дат с помощью
        функции
        «
        DATEDIFF», но это не помогло. Есть ли способ извлечь данные с помощью вышеуказанного запроса для определенного диапазона дат?

        1 ответ Последний ответ
        0
        • O Не в сети
          O Не в сети
          Omar Deen
          написал в отредактировано
          #4

          Вы все еще можете использовать DATEDIFF Замените это SET @dateFrom = CAST(FLOOR(CAST(GETDATE AS FLOAT)) AS DATETIME) на это SET @dateFrom = CAST(FLOOR(CAST(DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE),0) AS FLOAT)) AS DATETIME) Это даст вам первый день текущего месяца. Замените нуль на отрицательное значение, чтобы вернуться на столько месяцев назад, сколько хотите. Аналогично, вы можете заменить MONTH на DAY или YEAR

          1 ответ Последний ответ
          0
          • K Не в сети
            K Не в сети
            kavle
            написал в отредактировано
            #5

            Спасибо,
            @Omar Deen
            . Получилось.
            Не могли бы вы объяснить, какое значение имеют RCD.ClientCallKey = 0 и RCD.ClientCallKey > 0 в вашем запросе?

            1 ответ Последний ответ
            0
            • O Не в сети
              O Не в сети
              Omar Deen
              написал в отредактировано
              #6

              Часть сложности заключается в том, чтобы определить, что такое переведенный вызов и как мы можем связать с ним другую информацию, относящуюся к переведенному вызову. Я считаю, что важно указать, на каком сценарии вызов первоначально завершился и куда он был переведен, поэтому нам нужно использовать RCD для получения этой информации. Сложность заключается в том, что RCD не всегда помечает вызов как переведенный. Изначально я использовал столбец RequestType, ища значения 2 (холодный) или 3 (теплый), но иногда это было 6. Я не тратил много времени на то, чтобы выяснить, почему, но было очевидно, что я не мог полагаться на эти данные. Единственное, что в таблице RCD определенно выделялось как исходный и переведенный вызов, было RoutingClientCallKey. Исходный вызов всегда имеет значение 0, а переведенные вызовы — значение больше 0. Что мешает моему запросу, так это наличие нескольких переводов... Я не учитываю это. Я все еще работаю над улучшением этого запроса, но это хороший первый шаг. Если вы найдете способы его улучшить, поделитесь ими с остальными членами сообщества.

              1 ответ Последний ответ
              0
              • K Не в сети
                K Не в сети
                kavle
                написал в отредактировано
                #7

                Спасибо за ответ
                [, @Omar Deen] Я пытаюсь отобразить только две записи для каждого вызова: одну запись вызова с номером callkeysequence 0 и другую с номером 6. Я не понимаю, как сгруппировать эти данные с помощью RCcallkey.

                1 ответ Последний ответ
                0
                • O Не в сети
                  O Не в сети
                  Omar Deen
                  написал в отредактировано
                  #8

                  Я не уверен, что там можно конкретно искать 6. Может быть, лучше сказать «больше 0».

                  1 ответ Последний ответ
                  0
                  • K Не в сети
                    K Не в сети
                    kavle
                    написал в отредактировано
                    #9

                    Здравствуйте
                    [, @Omar Deen] Я немного изменил ваш первый запрос, и он сработал, дав ожидаемый результат. MAX(CASE WHEN RCD.ClientCallKey > 0 THEN RCD.lable END) AS SecondaryEXTENSION, вышеуказанную строку я добавил для результата переведенного расширения, а также строку Call dispotion для полной информации. Спасибо, сэр!!!

                    1 ответ Последний ответ
                    0
                    • K Не в сети
                      K Не в сети
                      kavle
                      написал в отредактировано
                      #10

                      Привет, Омар, Я пытаюсь преобразовать данные CVP Informix в данные MS SQL Это возможно, сэр?

                      1 ответ Последний ответ
                      0

                      Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.

                      Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

                      С вашими комментариями этот пост может стать ещё лучше 💗

                      Зарегистрироваться Войти
                      Ответить
                      • Ответить, создав новую тему
                      Авторизуйтесь, чтобы ответить
                      • Сначала старые
                      • Сначала новые
                      • По количеству голосов


                      • Войти

                      • Нет учётной записи? Зарегистрироваться

                      • Login or register to search.
                      • Первое сообщение
                        Последнее сообщение
                      0
                      • Категории
                      • Последние
                      • Метки
                      • Популярные
                      • Пользователи
                      • Группы