Общие сведения
Функциональность детализации Drill-through позволяет переходить из мультисферы воспроизведенного сценария в целевой автоматически воспроизводимый сценарий, передавая в фильтры размерностей целевой мультисферы целевого сценария значения элементов размерностей, по которым выполняется детализация.
—
—
Детализация добавляет передаваемые значения элементов размерностей в фильтры размерностей целевой мультисферы целевого сценария. Если в целевом сценарии к размерности был применен фильтр, то при выполнении детализации он замещается соответствующим значением из текущего сценария.
Если в текущем сценарии фильтр применен к размерности, не вынесенной в область данных, то такой фильтр будет переноситься в целевой сценарий (и замещать содержащийся в нем фильтр при наличии), только если в текущем сценарии включен учет фильтров по неактивным размерностям. В противном случае фильтр, установленный на неактивной размерности, в целевой сценарий не переносится.
Детализация конфигурируется файлом config.json (далее – конфигурация), который должен находиться в директории /var/plmrepo/pyscripts/директория_зарегистрированного_python-скрипта (см. Управление Python-скриптом для детализации Drill-through).
Когда в конфигурации указаны идентификатор сценария, для которого конфигурируется детализация, ИС, и идентификатор мультисферы, для которой конфигурируется детализация, ИМ, то на интерфейсе приложения для этого воспроизведенного сценария ИС, в контекстном меню факта этой мультисферы ИМ, отображается вариант «Связанный сценарий», а в его выпадающем списке – название Python-скрипта, в конфигурации которого указан этот сценарий ИС. По нажатию названия скрипта выполняется детализация согласно конфигурации.
Если Python-скрипт зарегистрирован в приложении несколько раз и идентификатор сценария встречается в конфигурациях нескольких зарегистрированных скриптов, то в выпадающем списке варианта «Связанный сценарий» отображаются названия всех этих скриптов и для выполнения может быть выбран любой из них.
Конфигурирование детализации
Для детализации Drill-through используется конфигурация в формате JSON следующего вида.
{ "connection": { "url": "https://analytics-host.ru" }, "scenarios": [ { "from_scenario_id": "1b37cf94", "to_scenario_id": "c31876cc", "cubes": [ { "from_cube_id": "65f2c5c5", "to_cube_id": "65f2c5c5", "dimensions": [ { "from_dimension_id": "e3d441d0", "to_dimension_id": "e3d441d0" }, { "from_dimension_id": "40266c9a", "to_dimension_id": "40266c9a" }, { "from_dimension_id": "5ce95739", "to_dimension_id": "5ce95739" } ] } ] }, { "from_scenario_id": "ff1fc771", "to_scenario_id": "c31876cc", "cubes": [ { "from_cube_id": "65f2c5c5", "to_cube_id": "65f2c5c5", "dimensions": [ { "from_dimension_id": "e3d441d0", "to_dimension_id": "e3d441d0" }, { "from_dimension_id": "40266c9a", "to_dimension_id": "40266c9a" }, { "from_dimension_id": "5ce95739", "to_dimension_id": "5ce95739" } ] } ] } ] }
где url – адрес хоста приложения;
scenarios – сценарии, для которых конфигурируется детализация;
from_scenario_id – идентификатор сценария, для которого конфигурируется детализация;
to_scenario_id – идентификатор целевого сценария, в который выполняется детализация;
from_cube_id – идентификатор мультисферы конфигурируемого сценария, для которой конфигурируется детализация;
to_cube_id – идентификатор целевой мультисферы целевого сценария, в которую выполняется детализация;
from_dimension_id – идентификатор размерности конфигурируемой мультисферы, по элементам которой может быть выполнена детализация;
to_dimension_id – идентификатор целевой размерности целевой мультисферы, в фильтр которой следует передавать значение элемента размерности from_dimension_id.
Обратите внимание
- Идентификаторы сценариев можно найти запросом GET /api/v2/scripts.
- Идентификаторы мультисферы и ее размерностей можно найти в консоли разработчика на вкладке Network, открыв мультисферу на интерфейсе приложения:
Также идентификатор мультисферы можно получить, выбрав опцию «Скопировать UUID» в контекстном меню мультисферы.
В примере сконфигурирована детализация для сценария 1b37cf94, для мультисферы этого сценария 65f2c5c5, в сценарий c31876cc, в мультисферу 65f2c5c5. Значения элементов размерностей e3d441d0, 40266c9a и 5ce95739 мультисферы, для которой сконфигурирована детализация, при выполнении детализации должны передаваться в мультисферу 65f2c5c5, в фильтры ее размерностей e3d441d0, 40266c9a и 5ce95739 соответственно.
С такими же параметрами сконфигурирована детализация для сценария ff1fc771.
Детализация может выполняться как по одной и той же мультисфере (как в примере, где идентификаторы мультисфер и их размерностей для сценариев from и to совпадают), так и по разным мультисферам.
Если при выполнении детализации в мультисфере to_cube_id отсутствует размерность to_dimension_id, детализация по этой размерности пропускается.
Если при выполнении детализации используется элемент размерности, которая не указана в from_dimension_id, выполнение детализации прерывается с сообщением «Не удалось запустить связанный сценарий».
Если при выполнении детализации отсутствует мультисфера to_cube_id, детализация по этой мультисфере пропускается.
Включение детализации
Включением детализации управляет параметр конфигурации приложения plm.user_interface.scenario_hyperlink_enabled.
Когда параметр выключен, вариант «Связанный сценарий» в контекстном меню ячейки факта не отображается.
Ошибки детализации
Возникающие ошибки при выполнении детализации выводятся в интерфейс в виде модального окна с текстом ошибки, а также записываются в системный лог sys.stderr в следующем формате:
{"type": "тип ошибки", "message": "Текст сообщения об ошибке"}
Поле type может принимать следующие значения:
Тип ошибки | Сообщение об ошибке |
---|---|
os | Ошибка воспроизведения. Не удалось найти или открыть файл. Убедитесь, что файл существует и доступен для чтения. |
json | Ошибка воспроизведения. Ошибка в обработке данных. Проверьте правильность формата JSON. |
config | Ошибка воспроизведения. Некорректный формат конфигурации. Убедитесь, что все необходимые параметры указаны и правильно настроены. |
connect | Ошибка воспроизведения. Не удалось подключиться к системе. Проверьте подключение к сети и параметры подключения. |
rights | Ошибка воспроизведения. Недостаточно прав доступа для выполнения операции. Обратитесь к администратору для проверки прав доступа. |
scenario | Ошибка воспроизведения. Произошла ошибка при запуске сценария. Проверьте корректность сценария и его параметры. |
module | Ошибка воспроизведения. Не найден необходимый модуль после выполнения сценария. Проверьте, указан ли ID модуля в конфигурации. |
Ошибка типа rights возникает, если у пользователя нет прав на мультисферу, размерности или факты, задействованные в целевом сценарии.