Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: WA от 01 марта 2017, 12:11:41

Название: Подсчет числа вызовов
Отправлено: WA от 01 марта 2017, 12:11:41
Никак не могу справиться с такой задачей.
Есть сущность - контекст. В нем могут быть входящие и исходящие вызовы.
Т.е. имеем Контекст  и в нем     
Call ID,Направление.

Направления может иметь такие значения:
Вход (усп)
Исх (усп)
Исх (не усп)
Вход (не усп)

Необходимо посчитать число вызовов для контекстов, в которых есть только исходящие вызовы

Название: Re: Подсчет числа вызовов
Отправлено: admin от 01 марта 2017, 12:14:59
Привет,
В выражении:
count ({<Контекст={"*Исх (*"}>} Call_ID)
Название: Re: Подсчет числа вызовов
Отправлено: WA от 01 марта 2017, 05:02:16
поле контекст не может содержать "*Исх (*" это можно только в направлении искать

Call ID           Направление   Контекст
439756307   Вход (усп)   2684237278
439756313   Исх (усп)           2684237278
439762526   Исх (не усп)   2684264639
311755474   Исх (не усп)   2684286689
439788543   Вход (усп)   2684376031
Название: Re: Подсчет числа вызовов
Отправлено: admin от 02 марта 2017, 07:51:47
ОК,  :)

count ({<Направление={"Исх*"}>} [Call ID])
Название: Re: Подсчет числа вызовов
Отправлено: WA от 02 марта 2017, 09:40:09
Что-то я похоже не ясно выражаю свою мысль.
Задача подсчитать число вызовов только в тех контекстах, в которых направление содержит исключительный признак "Исх*"
Название: Re: Подсчет числа вызовов
Отправлено: admin от 02 марта 2017, 12:24:51
Указанная формула считает число вызовов для тех строк, где направление начинается с 'Исх*'.
Или задача посчитать то же самое в скрипте?
Название: Re: Подсчет числа вызовов
Отправлено: WA от 02 марта 2017, 02:16:02
Цитата: admin от 02 марта  2017, 12:24:51  
Указанная формула считает число вызовов для тех строк, где направление начинается с 'Исх*'.
Или задача посчитать то же самое в скрипте?

У меня строка это один CallID. В контексте может быть 2 и больше CallID. Задача посчитать число CallID только  для тех контекстов, в которых встречается только такие значения направлений:
Исх (усп) или Исх (не усп)
Название: Re: Подсчет числа вызовов
Отправлено: admin от 02 марта 2017, 07:04:42
Что в вашем понимании "контекст"?
Можете привести фрагмент данных в csv или xls ?
Название: Re: Подсчет числа вызовов
Отправлено: WA от 03 марта 2017, 11:29:13
Вот фрагмент данных. Здесь 2 контекста 2684237278 и 2684264639. В первом 3 Call ID, во 2-м - 2.  Для  этих контекстов Call ID не должны считаться, так как у них есть направление - Вход (усп).

Call ID           Направление   Контекст           Коммутатор   Расположение
439756307   Вход (усп)   2684237278   MRC_09           nms:12/401/43
439756313   Исх (усп)           2684237278   MRC_09           nms:13/14/0
439762526   Вход (усп)   2684264639   MRC_09           nms:11/153/6
439824322   Исх (усп)           2684237278   MRC_09           nms:14/401/147
439825148   Исх (усп)           2684264639   MRC_09           nms:13/401/221
Название: Re: Подсчет числа вызовов
Отправлено: admin от 05 марта 2017, 12:20:28
ОК, возможны два варианта.
Либо  в скрипте подготовить массив для контекста с флагам по направлениям.
Либо написать выражение с вложенным анализом множеств.
Хелп по ссылке (http://help.qlik.com/ru-RU/sense/3.1/Subsystems/Hub/Content/ChartFunctions/SetAnalysis/set-modifiers-implicit-field-value-definitions.htm)

Я бы сделал два варианта и сравнил бы их по производительности на больших массивах данных.
Название: Re: Подсчет числа вызовов
Отправлено: WA от 06 марта 2017, 12:20:32
спасибо за совет