Для установки меток при фильтрации размерности используется метод put_dim_filter:

put_dim_filter(dim_name: str = None, filter_name: Union[str, List, None] = None, start_date: Union[int, str] = None, end_date: Union[int, str] = None,        filter_field_format: Union[str, None] = None, dim_id: str = None) -> dict:

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

АргументОписание
dim_name: (str)Название размерности, к которой требуется применить фильтр. При использовании этого параметра заполнение dim_id не требуется.
filter_name: (Union[str, List, None])

Название элемента размерности или список названий элементов размерности, которые требуется отображать после применения фильтрации.

В случае, если фильтрация выполняется по диапазону дат, в параметре filter_name нужно передать None.


start_date: (Union[int, str])Начальная дата диапазона значений, который требуется отображать после применения фильтра.  Особенности использования параметров start_date и end_date:
1. Если используются месяцы, то необходимо использовать следующие значения (с учетом регистра):
["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"].
2. Если используются дни недели, то необходимо использовать следующие значения (с учетом регистра):
["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"]
3. Если указаны целочисленные значения, то подразумевается интервал дат.
4. Если указаны строки-даты, то действует ряд правил и ограничений:
  a) Допустимые форматы:
     "ДД.ММ.ГГГГ"
     "ДД-ММ-ГГГГ"
     "ДД.ММ.ГГГГ ЧЧ:ММ:СС"
     "ДД-ММ-ГГГГ ЧЧ:ММ:СС"
   b) Во всех допустимых форматах можно менять местами год и число, т. е. можно задать как "ДД-ММ-ГГГГ", так и "ГГГГ-ММ-ДД". Месяц всегда должен оставаться в центре.
   c) Год необходимо указывать в полном четырехзначном формате (без сокращений), например, 2021, а не 21; из этого следует, что фильтровать можно только те даты, в которых год четырехзначный (от 1000 г. н. э.).
   d) Если помимо даты указывается также и время, то его формат везде одинаков: "... ЧЧ:ММ:СС".
   e) Оба параметра фильтрации должны иметь один формат; в противном случае будет сгенерирована ошибка.
   f) Если в одном из параметров будет указано неверная дата/время (например, 30.02.2021) также будет сгенерирована ошибка.
5. Если указано что-то иное, будет сгенерирована ошибка.
end_date: (Union[int, str])Конечная дата диапазона фильтрации, который требуется отображать после применения фильтра.
filter_field_format: (Union[str, None])Формат даты-времени, в котором фильтруемая размерность представлена в Polymatica Analytics. Обязателен, если в параметрах start_date и end_date указаны строки-даты. Параметр необходим для корректной фильтрации даты-времени.
Пример: filter_field_format='%d.%m.%Y %H:%M:%S.%f' или '%Y-%m-%d'.
dim_id: (str)Идентификатор размерности, к которой требуется применить фильтр. При использовании этого параметра заполнение dim_name не требуется.

Метод позволяет работать с любой размерностью, вне зависимости от ее положения в таблице, в том числе и с размерностью, не вынесенной в область данных.

Пример использования метода:

session.put_dim_filter(dim_name='Группа карт', filter_name=['MasterCard Standard', 'MasterCard Gold'])
или
session.put_dim_filter(dim_name='Группа карт', filter_name='MasterCard Standard')
или
session.put_dim_filter(dim_name='Дата транзакции дата', filter_name='01-01-2014')
или
session.put_dim_filter(dim_name='Дата транзакции дата', filter_name=['01-01-2014', '05-01-2014'])
или
session.put_dim_filter(dim_name='Дата транзакции число', filter_name='6')
или
session.put_dim_filter(dim_name='Дата транзакции число', filter_name=['6', '10'])
или
session.put_dim_filter(dim_id='1f425592', filter_name=['MasterCard Standard', 'MasterCard Gold'])
или
session.put_dim_filter(dim_name='Дата транзакции месяц', filter_name=None, start_date='Февраль', end_date='Апрель')
или
session.put_dim_filter(dim_name='Дата транзакции число', filter_name=None, start_date=25, end_date=31)
или
session.put_dim_filter(dim_name='report_date', filter_name=None, start_date='25-08-2020', end_date='30-09-2020', filter_field_format='%d-%m-%Y')

В результате использования метода возвращается ответ от сервера, состоящий из двух частей: в первой — ответ, как при использовании команды filter: apply_data, во второй — ответ, как при использовании команды filter: set.

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

{'state': 1,
 'queries': [{'uuid': 'bd2f7567-549902af-bbbc99d2-fd46fdc1',
   'command': {'plm_type_code': 504,
    'state': 10,
    'runtime_id': 'bd2f7567',
    'command_id': '00000000-00000000-00000000-00000000',
    'module_id': 'bd2f7567-549902af-bbbc99d2-fd46fdc1',
    'global_selected': 2,
    'items_checked': [],
    'items_unchecked': [],
    'filter_view_id': '57dc52c0-ef9595f6-fc40db6d-6ed2e7fc'}},
  {'uuid': 'bd2f7567-549902af-bbbc99d2-fd46fdc1',
   'command': {'plm_type_code': 504,
    'state': 22,
    'runtime_id': 'bd2f7567',
    'command_id': '00000000-00000000-00000000-00000000',
    'module_id': 'bd2f7567-549902af-bbbc99d2-fd46fdc1',
    'dimension_name': 'Группа карт',
    'filter_view_id': '57dc52c0-ef9595f6-fc40db6d-6ed2e7fc'}}]}