Фильтры по датам на дашборде помогают выбирать данные и анализировать их за определенные периоды. Оптимально настроенные фильтры в SQL‑запросе могут ускорить работу отчета и ограничить выборку данных, чтобы не превысить лимиты BI Конструктора.
Тарифные планы: количество строк в таблицах данных
В статье расскажем:
Использовать фильтры в запросе
Фильтры в запросе помогают извлекать из Битрикс24 только нужную информацию. Например, можно посмотреть, сколько сделок появилось за два года, и не загружать все данные подряд.
Чтобы добавить в запрос фильтр по дате:
- Откройте BI конструктор и перейдите в раздел SQL > SQL Lab.
- Выберите схему bitrix24
- Впишите 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'
В разделе Статистика использования можно увидеть, как изменилась работа запроса.
Как 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"}
.
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 Конструктор поддерживает разные способы фильтрации: по одной дате, двум датам, с пересечением периодов.
Рекомендуем прочитать: