Функция renameEvents позволяет переименовывать события из одного в другое. Новым названием может быть как существующее событие в модели, так и новое, которого там нет. Также с помощью этой функции можно анализировать параллельные события через создание определенных групп этих событий.
Все данные пересчитываются под новые названия событий, как будто старых не существует в модели. На большом объеме данных может потребоваться существенное время на выполнение запроса.
В условии запроса (в where или в case) функция должна использоваться не более одного раза.
renameEvents('"имя_события1" -> "новое_имя_события1"', ... , '"имя_событияN" -> "новое_имя_событияN"')
имя_события — название события, которое будет переименовываться.
новое_имя_события — новое название события, в которое произойдет переименование.
Данные функции не коммутативны, в них важен порядок применения при одновременном использовании. Поэтому если они вместе будут в SQL запросе, то выполняется:
renameEvents,inEventsRange,hideEvents/showEvents.Запрос:
select
process.extId as "procID",
event.name as "Шаг",
eventNum() as "Номер события",
reworkTotal() as "Повторы всего",
rework() as "Повторы подряд"
from event, process
where renameEvents('"check ticket" -> "decide"')
order by "Номер события"
| extId | name |
|---|---|
| 1 | register request |
| 1 | check ticket |
| 1 | examine casually |
| 1 | decide |
| 1 | reinitiate request |
| 1 | check ticket |
| 1 | examine casually |
| 1 | decide |
| 1 | reinitiate request |
| 1 | examine thoroughly |
| 1 | check ticket |
| 1 | decide |
| 1 | reject request |
| procID | Шаг | Номер события | Повторы всего | Повторы подряд |
|---|---|---|---|---|
| 1 | register request | 1 | 1 | 1 |
| 1 | decide | 2 | 1 | 1 |
| 1 | examine casually | 3 | 1 | 1 |
| 1 | decide | 4 | 2 | 1 |
| 1 | reinitiate request | 5 | 1 | 1 |
| 1 | decide | 6 | 3 | 1 |
| 1 | examine casually | 7 | 1 | 1 |
| 1 | decide | 8 | 4 | 1 |
| 1 | reinitiate request | 9 | 1 | 1 |
| 1 | examine thoroughly | 10 | 1 | 1 |
| 1 | decide | 11 | 5 | 1 |
| 1 | decide | 12 | 6 | 2 |
| 1 | reject request | 13 | 1 | 1 |
Запрос:
select
process.extId as "procID",
event.name as "Шаг",
eventNum() as "Номер события",
reworkTotal() as "Повторы всего",
rework() as "Повторы подряд"
from event, process
where renameEvents(
'"check ticket" -> "new name"',
'"decide" -> "new name"',
'"reinitiate request" -> "new name"'
)
order by "Номер события"
| extId | name |
|---|---|
| 1 | register request |
| 1 | check ticket |
| 1 | examine casually |
| 1 | decide |
| 1 | reinitiate request |
| 1 | check ticket |
| 1 | examine casually |
| 1 | decide |
| 1 | reinitiate request |
| 1 | examine thoroughly |
| 1 | check ticket |
| 1 | decide |
| 1 | reject request |
| procID | Шаг | Номер события | Повторы всего | Повторы подряд |
|---|---|---|---|---|
| 1 | register request | 1 | 1 | 1 |
| 1 | new name | 2 | 1 | 1 |
| 1 | examine casually | 3 | 1 | 1 |
| 1 | new name | 4 | 2 | 1 |
| 1 | new name | 5 | 3 | 2 |
| 1 | new name | 6 | 4 | 3 |
| 1 | examine casually | 7 | 1 | 1 |
| 1 | new name | 8 | 5 | 1 |
| 1 | new name | 9 | 6 | 2 |
| 1 | examine thoroughly | 10 | 1 | 1 |
| 1 | new name | 11 | 7 | 1 |
| 1 | new name | 12 | 8 | 2 |
| 1 | reject request | 13 | 1 | 1 |
В систему загружены 20 экземпляров процесса. Их визуализация в виджете Variant Explorer выглядит следующим образом:
После применения функции в виде SQL фильтра происходит пересчет цепочек. Их общий граф выглядит по-другому, так как у некоторых шагов сменилось название.
renameEvents(
'"examine thoroughly" -> "check-группа"',
'"check ticket" -> "check-группа"',
'"decide" -> "check-группа"'
)
Запрос:
select
extId
from process
where match('"register request" -> .*') and renameEvents('"register request" -> "new name"')
| extId |
|---|
| 1 |
| 2 |
| 3 |
| extId | name |
|---|---|
| 1 | register request |
| 1 | check ticket |
| 1 | examine casually |
| 1 | decide |
| 1 | pay compensation |
| 2 | register request |
| 2 | check ticket |
| 2 | examine casually |
| 2 | decide |
| 2 | reinitiate request |
| 2 | check ticket |
| 2 | examine casually |
| 2 | decide |
| 2 | reinitiate request |
| 2 | examine thoroughly |
| 2 | check ticket |
| 2 | decide |
| 2 | reject request |
| 3 | register request |
| 3 | examine thoroughly |
| 3 | check ticket |
| 3 | decide |
| 3 | reject request |
Нет данных
Пояснение: После переименования все экземпляры процессов из входной выборки стали начинаться с шага
new name, то есть ни один из них не попадает под условиеmatch('"register request" -> .*').