Сгруппировать элементы размерности
Для группировки заданных или отмеченных элементов размерности используется метод group_dimensions:
group_dimensions(
*,
group_name: str,
group_level: int = 0,
dim_items: Union[list, set, tuple] = None,
position: str = "left",
dim_id: str = None,
) -> dict:
В данном методе обязательно передавать имена аргументов.
В методе используются следующие аргументы:
| Аргумент | Описание |
|---|---|
| group_name: (str) | Название создаваемой группы. Необязательный параметр. Если не задан, то название новой группы будет [Название первого элемента группы]_[Название последнего элемента группы]. |
| group_level: (int) | Уровень размерности, элементы которой необходимо сгруппировать. Уровни нумеруются от 0 до N, начиная с верхнего уровня вложенности. Необязательный параметр, по умолчанию считается равным значению 0 (соответствует самой верхней/самой левой размерности). Параметр учитывается только при отсутствии значения dim_id. |
| dim_items: (Union[list, set, tuple]) | Список элементов самой левой/верхней размерности, которые нужно сгруппировать. В список можно вносить ранее созданную группу элементов, тогда остальные элементы будут добавлены к ней. Если параметр не задан, будут сгруппированы все выделенные элементы левой или верхней размерности заданного уровня. Если параметр не задан и нет выделенных элементов размерности, сгенерируется ошибка. Если параметр задан и при этом также есть выделенные элементы размерности, значения, заданные в параметре, будут в приоритете над отмеченными. При этом после группировки элементов, указанных в параметре, отметки элементов размерности будут сняты. Если в параметре указаны элементы вложенной размерности, соответствующие разным элементам родительской размерности, то группа будет сформирована только для первого элемента в списке и других элементов, которые относятся к тому же элементу родительской размерности, что и этот первый элемент. Чтобы включить указанный в списке элемент в группу необходимо, чтобы до него были раскрыты все соответствующие элементы в родительских размерностях. В противном случае заданный элемент найден не будет. |
| position: (str) | Необязательный параметр. Возможные значения:
Параметр учитывается только при отсутствии значения dim_id. |
Пример использования метода:
session.group_dimensions(
group_name='Группа 1',
dim_items= ['Январь', 'Февраль'],
position= 'top',
group_level=0
)
или
session.group_dimensions(
group_name='Группа 1',
dim_items= ['CREDIT', 'DEBIT'],
group_level=0
)
или
session.group_dimensions(
dim_items= ['1', '2'],
dim_id='6072869c',
group_name='Группа 1'
)
В результате применения метода возвращается ответ, как при использовании команды view: group.
Пример ответа:
{'state': 1,
'queries': [{'uuid': 'f28cde72-779ce8a0-3c1f06b2-7a6eddbb',
'command': {'plm_type_code': 506,
'state': 28,
'command_id': '00000000-00000000-00000000-00000000',
'module_id': 'f28cde72-779ce8a0-3c1f06b2-7a6eddbb',
'dimension_name': '',
'name': 'CREDIT_DEBIT',
'fold_select_status': False,
'show_inter_total': False,
'show_global_horz_total': True,
'show_global_vert_total': True,
'select_counter': 0,
'script_action_group_id': 2,
'dim_id': '05b70473',
'is_total': False,
'fact_id': '00000000',
'sort_type': 0,
'dim_ids': [],
'fact_ids': []}}]}
Переименовать группу элементов размерности
Для изменения названия группы элементов размерности используется метод rename_grouped_elems:
rename_grouped_elems(name: str, new_name: str, position: str = "left", level: int = 0) -> dict:
В методе используются следующие аргументы:
| Аргумент | Описание |
|---|---|
| name: (str) | Название группы элементов, которое требуется изменить. |
| new_name: (str) | Новое название группы элементов. |
| position: (str) | Необязательный параметр. Возможные значения:
|
| level: (int) | Уровень, на котором расположены сгруппированные элементы. По умолчанию 0. |
Пример использования метода:
session.rename_grouped_elems(name='Группа 1', new_name= 'Группа новая') или session.rename_grouped_elems(name='Группа 1', new_name= 'Группа новая', position = 'top', level = 1)
В результате применения метода возвращается ответ, как при использовании команды group: set_name.
Пример ответа:
{'state': 1,
'queries': [{'uuid': 'f28cde72-779ce8a0-3c1f06b2-7a6eddbb',
'command': {'plm_type_code': 505,
'state': 5,
'command_id': '00000000-00000000-00000000-00000000',
'module_id': 'f28cde72-779ce8a0-3c1f06b2-7a6eddbb',
'name': 'Группа новая'}}]}