Фильтры по датам помогают выбрать данные, анализировать их за определенные периоды, проводить сравнения и отслеживать тенденции. Иногда при создании отчетов могут возникать ошибки: нужные данные не попали в график или наоборот появились лишние. Чтобы этого избежать, используйте фильтры в наборах данных и отчетах.
В статье расскажем, как тестировать запросы и фильтровать данные в отчете BI Конструктора.
Как протестировать запрос и посмотреть, как работают фильтры
Чтобы проверить запрос, используйте Postman. Это инструмент для работы с API, он позволяет отправлять запросы к сервисам и работать с их ответами.
Отладка запросов в Postman
Если в наборе данных есть поле с датой и временем, вы можете использовать его для фильтрации. Например, сделки можно фильтровать по полям: date_create
, date_modify
, begindate
и closdate
. Рассмотрим, как происходит фильтрация сделок по полю date_create
или дата создания сделки.
Описание наборов данных и полей для BI-аналитики
В поле Post добавьте адрес запроса:
https://название_портала/bitrix/tools/biconnector/pbi.php?table=crm_deal
. Чтобы увидеть план выполнения SQL-запросов на сервере, добавьте к адресу запроса параметр &explain
.
Напишите запрос к Битрикс24, он состоит из трех параметров:
- key: "vMYihzN3QS4XXXXXXXXXX" — ключ для доступа к данным. Каждый ключ уникален его можно посмотреть в разделе CRM> Аналитика > BI-аналитика > Настройки BI-аналитики > Управление ключами.
- dateRange: {"startDate": "2022-1-1", "endDate": "2023-1-1"} — временной диапазон для запроса данных. В нашем примере он охватывает период с 1 января 2022 года по 1 января 2023 года.
- configParams: {"timeFilterColumn": "DATE_CREATE"} — фильтр для выбора сделок по дате создания.
{ "key":vMYihzN3QS4XXXXXXXXXX", "dateRange": { "startDate": "2022-1-1", "endDate": "2023-1-1" }, "configParams": { "timeFilterColumn": "DATE_CREATE" } }
Когда напишете запрос, нажмите Send.
Посмотрите результаты запроса в Битрикс24, откройте раздел CRM > Аналитика > BI-аналитика > Настройки BI-аналитики > Использование. На странице вы увидите: статистику использования, источник данных и какие фильтры были применены к набору данных.
Как установить поле, по которому будут фильтроваться данные графика в отчете BI Конструктора
Создадим отчет и добавим график, в котором будем считать количество сделок в Битрикс24. В отчете нажмите + Создать новый график.
Выберите набор данных crm_deal
, укажите тип графика и нажмите + Создать новый график.
Перенесите показатель Количество в блок Мера, а в блоке Фильтры выберите поле, по которому будете фильтровать данные, и нажмите Создать график. В примере будем фильтровать сделки по дате создания.
Сохраните таблицу, укажите название, выберите отчет и нажмите Сохранить и перейти к дашборду.
Чтобы выбирать данные за определенные даты, нажмите + Добавить/Изменить фильтры.
Выберите тип фильтра Временной интервал, укажите название и нажмите Сохранить.
Откройте фильтр, укажите подходящие даты и нажмите Применить фильтры.
Количество сделок в отчете изменилось, они были отфильтрованы по дате создания за последний месяц.
Чтобы посмотреть результат запроса и поле, по которому фильтровались данные, откройте Битрикс24. Перейдите в раздел CRM > Аналитика > BI-аналитика > Настройки BI-аналитики > Использование.
Как фильтровать данные из виртуального набора BI Конструктора
Чтобы отфильтровать данные из виртуального набора, добавьте поле для фильтрации. Откройте вкладку Datasets, выберите виртуальный набор данных и нажмите Редактировать.
Отредактируем набор данных, в котором соединили сделки, пользовательские поля и товары. В примере мы используем готовый виртуальный набор данных. Как его создать, рассказали в отдельной статье.
Как добавить график на основе виртуального набора данных
Чтобы выбирать сделки по дате создания, в SQL-запросе не хватает поляdate_create
. Добавьте поле и сохраните новый запрос. Он выполнит шесть действий:
- d.TITLE — выбирает название сделки из
crm_deal
. - d.date_create — используется для фильтрации сделок по полю дата создания.
- du.UF_CRM_1645431691305 — выбирает определенное пользовательское поле из
crm_deal_uf
. - dp.PRODUCT_NAME — выбирает название товара из
crm_deal_product_row
. - INNER JOIN — соединяет таблицы по общему идентификатору сделки
DEAL_ID
. - WHERE d.date_create — эта часть запроса фильтрует сделки по дате их создания за определенные промежутки времени.
SELECT d.TITLE, d.date_create, du.UF_CRM_1645431691305, dp.PRODUCT_NAME FROM crm_deal d INNER JOIN crm_deal_uf du ON d.ID = du.DEAL_ID INNER JOIN crm_deal_product_row dp ON d.ID = dp.DEAL_ID WHERE d.date_create >= DATE '2023-01-01' AND d.date_create < DATE '2023-12-31';
Чтобы новое поле появилось в наборе данных, откройте вкладку Столбцы и нажмите Синхронизировать столбцы из источника.
Затем отредактируйте запрос и замените параметр WHERE
. Так вы сможете динамически фильтровать данные без необходимости переписывать весь запрос.
SELECT d.TITLE, d.date_create, du.UF_CRM_1645431691305, dp.PRODUCT_NAME FROM crm_deal d INNER JOIN crm_deal_uf du ON d.ID = du.DEAL_ID INNER JOIN crm_deal_product_row dp ON d.ID = dp.DEAL_ID WHERE {% if from_dttm is not none %} d.date_create >= from_iso8601_timestamp('{{ from_dttm }}') AND {% endif %} {% if to_dttm is not none %} d.date_create < from_iso8601_timestamp('{{ to_dttm }}') AND {% endif %} true;
Создайте новый график, проверьте, что в нем появилось поле для фильтрации данных, и нажмите Сохранить. Мы добавили столбец с датами в график, чтобы отследить изменения во времени создания сделок.
Теперь в отчете с виртуальным набором данных можно увидеть количество сделок за определенный период.
Чтобы узнать больше о возможностях BI Конструктора, посмотрите видео:
Как работает BI-конструктор
Как управлять фильтрацией по датам
Коротко
- Фильтры по датам помогают выбирать нужные данные, анализировать их за определенные периоды, проводить сравнения и отслеживать тенденции.
- Чтобы посмотреть, как работает запрос, используйте приложение Postman.
- Если в наборе данных есть поле с датой и временем, вы можете использовать его для фильтрации.
- Если ошиблись в названии или не указали поле для фильтрации, конструктор по умолчанию использует первое поле дата и время из набора данных.
- Чтобы фильтровать данные по дате и времени, в графике всегда устанавливайте подходящее поле в блоке фильтры. Иначе данные будут выгружаться в полном объеме за все время.
- Чтобы отфильтровать данные из виртуального набора, добавьте поле для фильтрации.
Рекомендуем прочитать: