Прочитайте готовые ответы
Новые статьи
Поддержка Битрикс24
Регистрация и вход
Тарифы и оплата
Задачи и проекты
Чат и звонки
Группы
Календарь
CRM + Интернет-магазин
Диск
Сайты
База знаний
Интернет-магазин (beta)
Складской учет
Почта
CRM
CoPilot — AI в Битрикс24
Битрикс24 КЭДО
Маркетинг
Сквозная аналитика
Центр продаж (beta)
CRM-аналитика (beta)
BI Конструктор
Автоматизация
CRM.Оплата и Доставка
Интеграция 1С и Битрикс24
Компания
Бизнес-процессы
Приложения
Контакт-центр
Моя страница
Телефония
Настройки
Мой тариф
Энтерпрайз
Enterprise HRM
Мобильное приложение
Десктоп-приложение
Общие вопросы
Готовые решения для бизнеса
Битрикс24 в коробке
1С-Битрикс24: Интернет-магазин + CRM
Изменения в статьях (архив)

Поддержка24

Как работают фильтры по датам в BI Конструкторе

Фильтры по датам помогают выбрать данные, анализировать их за определенные периоды, проводить сравнения и отслеживать тенденции. Иногда при создании отчетов могут возникать ошибки: нужные данные не попали в график или наоборот появились лишние. Чтобы этого избежать, используйте фильтры в наборах данных и отчетах.

В статье расскажем, как тестировать запросы и фильтровать данные в отчете 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"
}
}

Если ошиблись в названии поля, данные не пропадут. Они будут автоматически отфильтрованы по полю 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.
  • Если в наборе данных есть поле с датой и временем, вы можете использовать его для фильтрации.
  • Если ошиблись в названии или не указали поле для фильтрации, конструктор по умолчанию использует первое поле дата и время из набора данных.
  • Чтобы фильтровать данные по дате и времени, в графике всегда устанавливайте подходящее поле в блоке фильтры. Иначе данные будут выгружаться в полном объеме за все время.
  • Чтобы отфильтровать данные из виртуального набора, добавьте поле для фильтрации.

Рекомендуем прочитать:
Спасибо, помогло!
Спасибо :)
Не помогло
Очень жаль :(
Помощь интегратора
Это не то, что я ищу
Написано очень сложно и непонятно
Есть устаревшая информация
Слишком коротко, мне не хватает информации
Мне не нравится, как это работает