Объединить поля с пересекающимися датами в одно поле (qliksense)

Всем привет!

Может, кто-нибудь сталкивался со следующей задачей.

У меня есть клиенты, которые обращаются к операторам с вопросом, то есть обращений от клиента может быть много, я пытаюсь сделать так, чтобы при пересечении дат обращений, они соединялись в одно поле (где date_start будет минимальным значением, а date_close максимальным).

Реализовала такой код:

Table_one:
load *
    INLINE [
id_client | id_question| date_open | date_close
YZIYR00R | 14534534 | 11.01.2022 | 11.01.2022
YZIYR00R | 14786543 | 11.01.2022 | 11.01.2022
YZIYR00R | 87634957 | 11.01.2022 | 11.01.2022
YZIYR00R | 12398750 | 11.01.2022 | 12.01.2022
YZIYR00R | 57548555 | 13.01.2022 | 13.01.2022
YZIYR00R | 36485023 | 13.01.2022 | 14.01.2022
YZIYR00R | 09748361 | 13.01.2022 | 13.01.2022
YZIYR00R | 56419453 | 13.01.2022 | 15.01.2022
 
 
] (delimiter is '|');
 
 
Tmp:
LOAD *, if(previous(date_close) >= date_open and previous(id_client) = id_client,
peek(question_group), id_question) as question_group
Resident Table_one
ORDER BY id_client,date_close,date_open;
drop table Table_one;
 
 
next:
load id_client, question_group as id_question, min(date_open) as date_open, max(date_close) as date_close
Resident Tmp
Group by id_client, question_group;
drop table Tmp;

Однако, при добавлении следующих дат(пример ниже) код работает не так, как нужно, потому что сравнивает строки последовательно, а в примере ниже все должно уйти в один интервал, но этого не происходит, так как строки сравниваются по порядку.

Table_one:
load *
    INLINE [
id_client | id_question| date_open | date_close
YZIYR00R | 14534534 | 03.10.2022 | 03.10.2022
YZIYR00R | 14786543 | 04.10.2022 | 04.10.2022
YZIYR00R | 87634957 | 05.10.2022 | 02.12.2022
YZIYR00R | 12398750 | 05.10.2022 | 05.10.2022
YZIYR00R | 57548555 | 06.10.2022 | 06.10.2022
YZIYR00R | 36485023 | 07.10.2022 | 11.10.2022
YZIYR00R | 09748361 | 17.10.2022 | 18.10.2022
YZIYR00R | 56419453 | 19.10.2022 | 19.10.2022
YZIYR00R | 64324123 | 20.10.2022 | 26.10.2022
YZIYR00R | 53634322 | 31.10.2022 | 31.10.2022
YZIYR00R | 56787656 | 01.11.2022 | 03.11.2022
YZIYR00R | 78946487 | 03.11.2022 | 03.11.2022
YZIYR00R | 11111111 | 09.11.2022 | 09.11.2022
YZIYR00R | 98541484 | 09.11.2022 | 11.11.2022
YZIYR00R | 45487874 | 10.11.2022 | 23.11.2022
YZIYR00R | 26548459 | 29.11.2022 | 29.11.2022
YZIYR00R | 13452352 | 02.12.2022 |
] (delimiter is '|');

Ответы (0 шт):