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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Mutarix от 29 марта 2019, 07:08:15

Название: Как посчитать сколько времени было каждое событие
Отправлено: Mutarix от 29 марта 2019, 07:08:15
Добрый день, Друзья

Нужна ваши профессиональная помощь.
данные загружаются из файла Excel использую QlikView

Задача следующая:
Есть ячейка старта действия "Старт" она определяет начало периода для Состояния1
Также есть ячейка завершения действия "Завершение" она определяет окончание периода для Состояния2
Есть столбец в каждую ячейку которого записываются данные о переходе из одного состояния в другое в следующем виде:
Ячейка1 = З->С 05.12.2018, С->З 17.12.2018, З->С 21.12.2018
Ячейка2 = З->С 26.11.2018
Ячейка3 = З->С 14.11.2018, С->В 26.11.2018
Ячейка4 = З->С 25.09.2018, С->З 19.10.2018, З->С 24.10.2018, С->З 13.11.2018, З->С 16.11.2018

В результату нужно получить:
Сколько дней ячейка была в Состоянии1 З->С и сколько дней в Состоянии2 С->З

Ссылка на Excel файл:
https://drive.google.com/file/d/1mU1TTwdqGhNt4vKZAdl5xq4rpg5N0JEt/view?usp=sharing
Название: Re: Как посчитать сколько времени было каждое событие
Отправлено: admin от 31 марта 2019, 09:05:52
Цитата: Mutarix от 29 марта  2019, 07:08:15  Не могу прикрепить файл Excel с примером.

По какой причине?
Достаточно десятка строк, Можно через облако выложить.
Либо кодом скрипта Load * inline [];
Либо моделью данных.

Если используете Qlikview, то в режиме редактора скрипта можно вставить встроенные данные. Откроется таблица для ручного ввода данных.
В нее же прекрасно переносятся данные из Excel через буфер обмена.
Название: Re: Как посчитать сколько времени было каждое событие
Отправлено: Mutarix от 03 апреля 2019, 05:30:51
Друзья, есть идеи как это можно сделать?
Хотя бы направьте где искать.
Название: Re: Как посчитать сколько времени было каждое событие
Отправлено: admin от 03 апреля 2019, 08:09:25
Мда..

Итак, нам понадобится смекалка, в первую очередь и немного функций Qlik ))
Код можем принять как уникальный ключ.
Старт и Завершение - по усмотрению. Пока не понимаю их роли.
По состояниям, мы их можем разделить по запятой (http://help.qlik.com/ru-RU/sense/November2018/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/SubField.htm)
Получим одно поле типом перехода и датой.
Далее делим это поле на два, тип перехода/состояния и дату.
И после этого начинается работа с интервалами.
Либо межзаписными функциями (http://help.qlik.com/ru-RU/sense/November2018/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/inter-record-functions-charts.htm) делаем расчет.
Либо делаем полноценный анализ по интервалам (http://help.qlik.com/ru-RU/sense/November2018/Subsystems/Hub/Content/Sense_Hub/LoadData/matching-intervals-to-discrete-data.htm).