Функция event_num
возвращает порядковый номер каждого события в рамках экземпляра процесса. Строки заранее отсортированы по дате начала, потом по признаку сортировки (sorting) и потом по дате окончания на основании указанного маппинга в модели данных.
event_num(таблица.колонка [,'параметр_подсчета'])
- таблица.колонка — Внутри функции необходимо указать любую колонку из журнала событий, чтобы функция поняла, как строить порядковый номер
- параметр_подсчета — указывают функции, как вести подсчет. Возможные варианты:
- REVERSE — Обратный подсчет. Если не указано, то по умолчанию производится подсчет по порядку появления.
Запрос:
select
case_id,
activity,
event_num(event_log.activity) as "Порядковый номер"
from event_log
Данные на входе:
Данные на выходе:
case_id |
activity |
1 |
А |
1 |
В |
1 |
В |
1 |
С |
1 |
D |
2 |
А |
2 |
C |
2 |
А |
2 |
А |
case_id |
activity |
Порядковый номер |
1 |
А |
1 |
1 |
В |
2 |
1 |
В |
3 |
1 |
С |
4 |
1 |
D |
5 |
2 |
А |
1 |
2 |
C |
2 |
2 |
А |
3 |
2 |
А |
4 |
Запрос:
select
case_id,
activity,
event_num(event_log.activity) as "Порядковый номер"
from event_log
where event_num(event_log.activity)=2
Данные на входе:
Данные на выходе:
case_id |
activity |
1 |
А |
1 |
В |
1 |
В |
1 |
С |
1 |
D |
2 |
А |
2 |
C |
2 |
А |
2 |
А |
case_id |
activity |
Порядковый номер |
1 |
В |
2 |
2 |
C |
2 |
Запрос:
select
id
from case_table
where event_log.start_timestamp='2017-08-28 11:00:50' and event_num(event_log.activity)=1
Данные на входе
Данные на выходе
case_table
event_log
case_id |
activity |
start_timestamp |
1 |
А |
2017-09-09 09:00:20 |
1 |
В |
2017-09-09 09:00:22 |
1 |
В |
2017-09-10 03:48:23 |
1 |
С |
2017-09-10 10:04:24 |
1 |
D |
2017-09-14 15:29:08 |
2 |
А |
2017-08-28 11:00:50 |
2 |
C |
2017-08-28 11:00:51 |
2 |
А |
2017-08-28 11:00:51 |
2 |
А |
2017-09-02 12:52:06 |
Запрос:
select
case_id,
activity,
event_num(event_log.activity, 'REVERSE') as "Порядковый номер"
from event_log
Данные на входе:
Данные на выходе:
case_id |
activity |
1 |
А |
1 |
В |
1 |
В |
1 |
С |
1 |
D |
2 |
А |
2 |
C |
2 |
А |
2 |
А |
case_id |
activity |
Порядковый номер |
1 |
А |
5 |
1 |
В |
4 |
1 |
В |
3 |
1 |
С |
2 |
1 |
D |
1 |
2 |
А |
4 |
2 |
C |
3 |
2 |
А |
2 |
2 |
А |
1 |