Общие сведения

Функциональность детализации Drill-through позволяет переходить из мультисферы воспроизведенного сценария в целевой, автоматически воспроизводимый, сценарий, передавая в фильтры размерностей целевой мультисферы целевого сценария значения элементов размерностей, по которым выполняется детализация.


Детализация по элементам «Приволжский ФО» левой размерности «Федеральный округ» и «2022» верхней размерности «Год»

Воспроизведен сценарий. В фильтрах размерностей «Федеральный округ» и «Год» воспроизведенного сценария выбраны элементы «Приволжский ФО» и «2022». Обратите внимание: в целевом сценарии размерность «Год» не вынесена, поэтому для получения ожидаемого результата необходимо включить фильтрацию по неактивным размерностям

Детализация добавляет передаваемые значения элементов размерностей в фильтры размерностей целевой мультисферы целевого сценария.

Детализация конфигурируется файлом config.json (далее – конфигурация), который должен находиться в директории /var/plmrepo/pyscripts/директория_зарегистрированного_python-скрипта (см. Приложение Б. Python-скрипт, обеспечивающий детализацию Drill-through).

Когда в конфигурации указаны идентификатор сценария, для которого конфигурируется детализация (ИС) и идентификатор мультисферы, для которой конфигурируется детализация (ИМ), то на интерфейсе приложения для этого воспроизведенного сценария-ИС, в контекстном меню факта этой мультисферы-ИМ, отображается вариант «Связанный сценарий», а в его выпадающем списке – название python-скрипта, в конфигурации которого указан этот сценарий-ИС. По нажатию названия скрипта выполняется детализация согласно конфигурации.


Пример контекстного меню факта. В файле config.json (см. ниже) указаны идентификатор воспроизведенного сценария 1b37cf94 и идентификатор открытой мультисферы 65f2c5c5. По нажатию названия скрипта выполняется детализация на сценарий с идентификатором c31876cc


Если 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, открыв мультисферу на интерфейсе приложения:


Данные о мультисфере в консоли разработчика


В примере сконфигурирована детализация для сценария 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.

Когда параметр выключен, вариант «Связанный сценарий» в контекстном меню ячейки факта не отображается.

  • Нет меток