Для получения метаданных сценария без запуска сценария применяется метод get_scenario_metadata:

get_scenario_metadata(script_id: str) -> List:

В методе используется следующий аргумент:

АргументОписание
script_id: (str)Идентификатор сценария.

Пример выполнения метода:

session.get_scenario_metadata(script_id='ac00f5a2')

В результате использования метода возвращается список словарей с информацией о каждом OLAP-модуле, входящем в заданный сценарий: идентификатор OLAP-модуля, заголовок OLAP-модуля, идентификатор и название мультисферы, на основе которой построен OLAP-модуль, список размерностей и фактов, находящихся в области данных. Каждый словарь в списке имеет следующую структуру:

{'module_id': <value>,
  'module_name': <value>,
  'cube_id': <value>,
  'cube_name': <value>,
  'used_dimensions': [<dict>],
  'used_measures': [<dict>]}
КлючОписание
module_id: (str)Идентификатор OLAP-модуля.
module_name: (str)Название OLAP-модуля.
cube_id: (str)Идентификатор мультисферы, на основе которой построен OLAP-модуль.
cube_name: (str)Название мультисферы, на основе которой построен OLAP-модуль.
used_dimensions: [dict]Список размерностей, находящихся в области данных OLAP-модуля.
used_measures: [dict]Список фактов, находящихся в области данных OLAP-модуля.

Значение ключа used_dimensions представляет собой список словарей со следующей структурой:

{'name': <value>,
 'id': <value>,
 'type': <value>,
 'position': <value>,
 'level': <value>}
КлючОписание
name: (str)Название размерности.
id: (str)Идентификатор размерности.
type: (int)

Тип данных размерности. Возможны следующие значения:

UINT8 = 0,
UINT16 = 1,
UINT32 = 2,
UINT64 = 3,
DOUBLE = 4,
STRING = 5,
DATE = 6,
TIME = 7,
DATETIME = 8,
DATE_YEAR = 9,
DATE_QUARTER = 10,
DATE_MONTH = 11,
DATE_DAY = 12,
DATE_WEEK = 13,
DATE_WDAY = 14,
TIME_HOUR = 15,
TIME_MINUTE = 16,
TIME_SECOND = 17,
NONE = 18,
UNKNOWN = 19

position: (int)

Положение размерностей. Возможны следующие значения:
1 для размерностей, вынесенных влево;
2 для размерностей, вынесенных вверх.

level: (int)

Уровень размерности. Возможны значения от 0 до 4294967295.

Самой первой размерности слева или сверху соответствует уровень 0, первой вложенной — уровень 1, второй вложенной — уровень 2 и так далее.

Значение ключа used_measures представляет собой список словарей со следующей структурой:

{'name': <value>,
 'id': <value>,
 'type': <value>,
 'position': <value>,
 'measure_type': <value>}
КлючОписание
name: (str)Название факта.
id: (str)Идентификатор факта.
type: (int)Тип данных факта. Всегда принимает значение 4 (double).
position: (int)Положение факта. Всегда принимает значение 0.
measure_type: (int)

Вид факта. Возможны следующие значения:
0 — значение,
1 — процент,
2 — ранг,
3 — количество уникальных непустых значений,
4 — среднее уникальных непустых значений,
5 — отклонение непустых значений,
6 — минимальное среди непустых значений,
7 — максимальное среди непустых значений,
8 — изменение,
9 — изменение в %,
10 — нарастающий итог,
11 — ABC,
12 — медиана,
13 — количество непустых значений,
14 — неизвестно.

Пример ответа:

[{'module_id': '5c821a9e-83ddbdc2-3e2a05bb-b363d368',
  'module_name': 'Мультисфера - Банковская сфера',
  'cube_id': '3a03bf40-00000000-00000000-00000000',
  'cube_name': 'Банковская сфера',
  'used_dimensions': [{'name': 'Тип карты',
    'id': '05b70473',
    'type': 5,
    'position': 1,
    'level': 1},
   {'name': 'Группа карт',
    'id': '1f425592',
    'type': 5,
    'position': 1,
    'level': 0}],
  'used_measures': [{'name': 'Депозит',
    'id': 'be5f465d',
    'type': 4,
    'position': 0,
    'measure_type': 4},
   {'name': 'Оплата',
    'id': 'e5e5306c',
    'type': 4,
    'position': 0,
    'measure_type': 0}]}]

Если в каком-либо OLAP-модуле сценария нет вынесенных размерностей, то в used_dimensions для этого OLAP-модуля возвращается пустой список.