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

Поддержка24

BI Конструктор: как настроить фильтры по дате в SQL-запросе

Фильтры по датам на дашборде помогают выбирать данные и анализировать их за определенные периоды. Оптимально настроенные фильтры в SQL‑запросе могут ускорить работу отчета и ограничить выборку данных, чтобы не превысить лимиты BI Конструктора.
Тарифные планы: количество строк в таблицах данных

В статье расскажем:


Использовать фильтры в запросе

Фильтры в запросе помогают извлекать из Битрикс24 только нужную информацию. Например, можно посмотреть, сколько сделок появилось за два года, и не загружать все данные подряд.

Чтобы добавить в запрос фильтр по дате:

  1. Откройте BI конструктор и перейдите в раздел SQL > SQL Lab.
  2. Выберите схему bitrix24
  3. Впишите SQL-запрос, добавьте фильтр по дате и нажмите Выполнить. BI Конструктор выполнит запрос с учетом фильтрации и вернет данные только за выбранный период. Так можно ускорить работу отчета и избежать превышения лимита. Готовый запрос можно сохранить как датасет, чтобы создать график для отчета.

Если используете фильтр в первый раз, посмотрите пример запроса.

Пример SQL-запроса

Мы написали SQL-запрос с фильтром, чтобы извлечь названия сделок из набора данных (crm_deal). Фильтр выбирает данные за определенный период по дате создания. Это полезно, если нужно посмотреть, сколько сделок появилось за два года и не загружать все данные подряд.

Вы можете скопировать его и посмотреть, как работает выборка. Перед выполнением запроса замените даты на свои и выберите только те поля, которые нужны для отчета. Это ускорит работу запроса.

SELECT 
    TITLE, 
    DATE_CREATE
FROM crm_deal
WHERE 
    DATE_CREATE >= TIMESTAMP '2023-01-01 00:00:00' 
    AND DATE_CREATE <= TIMESTAMP '2024-12-31 20:00:00';

Оператор WHERE ограничивает данные и показывает только сделки за последние два года:

  • DATE_CREATE >= TIMESTAMP '2023-01-01 00:00:00' — нижняя граница диапазона дат. Выбирает все сделки, созданные начиная с 1 января 2023 года. Сделки, созданные раньше этой даты, в выборку не попадут.
  • DATE_CREATE <= TIMESTAMP '2024-12-31 20:00:00' — верхняя граница диапазона дат. Условие ограничивает выборку до 31 декабря 2024 года. Сделки, созданные в 2025 году и позже, не попадут в выборку.


Следить за использованием запросов

Графики в отчетах формируются с помощью SQL-запросов. Чем быстрее выполняются запросы, тем быстрее загружаются отчеты в Битрикс24. Анализ статистики помогает оценить, как работают запросы. Если они выполняются медленно или загружают слишком много данных, можно внести изменения и ускорить работу отчетов.

Чтобы посмотреть статистику использования запросов в BI Конструкторе, перейдите в раздел BI Конструктор > Рабочее место аналитика > Статистика использования.

Если вы создаете отчеты или добавляете новые графики, рекомендуем регулярно проверять статистику. В таблице можно увидеть результат работы запроса: сколько строк выгружено, какие фильтры применены и какой объем данных загружен. Также посмотреть историю и проанализировать работу запросов можно в BI Конструкторе, в разделе SQL Lab.
SQL-функции для расширенного анализа запросов

Например, запрос на выгрузку сделок загрузил 3760 строк и 240 020 байт данных. Время выполнения запроса — 15,03 секунды, что выше, чем у других запросов. В статистике видно, что для запроса не были применены фильтры. Это могло привести к замедлению работы отчета.

Чтобы ускорить выполнение запроса, можно добавить фильтр по дате создания. Это сократит объем данных и ускорит отчет. Например, если нужны только сделки за последний год, в SQL-запрос можно добавить условие:

WHERE DATE_CREATE >= TIMESTAMP '2024-01-01 00:00:00'

В разделе Статистика использования можно увидеть, как изменилась работа запроса.

02.jpg
Фильтр уменьшил время запроса, сократил строки и объем данных

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

В BI Конструкторе можно применять разные варианты фильтров, чтобы оптимизировать запросы и ускорить работу отчетов. Мы разберем три основных варианта фильтрации по дате и расскажем, как они влияют на выборку данных.

Фильтр по одной дате с диапазоном. Выбирает данные, созданные в определенном временном диапазоне. Его можно использовать, чтобы посмотреть, сколько сделок появилось за два года, и не загружать все данные подряд.

SELECT /* Поля из набора данных */ 
FROM /* Название набора данных */  
WHERE  
    DATE_CREATE > TIMESTAMP '2023-01-01 00:00:00'  
    AND DATE_CREATE < TIMESTAMP '2024-12-31 23:59:59';

Фильтр сразу ограничивает выборку по полю DATE_CREATE, загружая только нужные сделки. Это ускоряет выполнение запроса. В разделе Статистика использования такой фильтр отображается в формате: {">=DATE_CREATE":"01.01.2023","<=DATE_CREATE":"31.12.2024 23:59:59"}.

Фильтр по дате с двумя пересекающимися диапазонами. Выбирает данные за два периода с пересечением. Его используют, если нужно сравнить два периода и учесть пересечение данных. Это помогает понять, как менялись сделки в разные промежутки времени. Например, если нужно проанализировать сделки за 2023 год и с июня 2023 по июнь 2025 года. Фильтр выберет все сделки, созданные в этих периодах, включая те, что пересекаются.

SELECT /* Поля из набора данных */ 
FROM /* Название набора данных */  
WHERE  
    (DATE_CREATE > TIMESTAMP '2023-01-01 00:00:00'  
     AND DATE_CREATE < TIMESTAMP '2024-12-31 23:59:59')  
 OR  
    (DATE_CREATE > TIMESTAMP '2023-06-01 00:00:00'  
     AND DATE_CREATE < TIMESTAMP '2025-06-30 23:59:59');

При использовании фильтра учитывайте, что два периода не разделяются, а объединяются в один общий диапазон при обработке запроса. Это может увеличить объем загружаемых данных. В разделе Статистика использования такой фильтр отображается в формате: {">=DATE_CREATE":"01.01.2023","<=DATE_CREATE":"30.06.2025 23:59:59"}.

Фильтр по двум датам с диапазонами. Выбирает данные по двум датам: созданию DATE_CREATE и изменению DATE_MODIFY. Его используют, если нужно проанализировать сделки, которые были созданы и изменены в определенный временной промежуток.

SELECT /* Поля из набора данных */ 
FROM /* Название набора данных */  
WHERE  
    DATE_MODIFY > TIMESTAMP '2023-01-01 00:00:00'  
    AND DATE_MODIFY < TIMESTAMP '2024-12-31 23:59:59'  
    AND DATE_CREATE > TIMESTAMP '2023-01-01 00:00:00'  
    AND DATE_CREATE < TIMESTAMP '2024-12-31 23:59:59';

Фильтрация выполняется по первой указанной дате в условиях. Чтобы выбрать другую дату для фильтрации, поменяйте порядок условий в WHERE. В разделе Статистика использования такой фильтр отображается в формате: {">=DATE_MODIFY":"01.01.2023","<=DATE_MODIFY":"31.12.2024 23:59:59"}.


Коротко

  • Фильтры в BI Конструкторе помогают выбирать данные за нужный период и ускоряют формирование отчетов.
  • Контролировать использование запросов можно в разделе BI Конструктор > Рабочее место аналитика > Статистика использования. Здесь отображается количество выгруженных строк, примененные фильтры и объем загруженных данных.
  • Фильтры в SQL-запросах позволяют ограничить выборку и избежать превышения лимитов. Чтобы добавить фильтр, создайте запрос в SQL Lab, укажите схему bitrix24, добавьте условие по дате и выполните запрос. Готовый запрос можно сохранить как датасет, чтобы создать график для отчета.
  • BI Конструктор поддерживает разные способы фильтрации: по одной дате, двум датам, с пересечением периодов.

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