Для установки меток при фильтрации размерности используется метод 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'}}]} |