Коротко. Виртуальный набор данных в BI Конструкторе — это «виртуальная таблица», построенная из формулы или JOIN нескольких источников. Например, «Маржа = Сумма сделки — Себестоимость» или «Сделки + Контакты + Компании в одной таблице». Без виртуальных наборов сложная аналитика невозможна.
Что это и как работает
Виртуальный набор данных = SQL-подобный запрос или конструктор JOIN, который объединяет несколько источников/полей в новую логическую таблицу. Работает без физической копии данных. Полная официальная инструкция со скриншотами и пошаговой настройкой — в справке Битрикс24.
Быстрый порядок настройки
- В BI-Конструкторе → Датасеты → Создать виртуальный набор данных.
- Выберите источники: Сделки, Контакты, Компании.
- Настройте связи (JOIN): Сделки.CONTACT_ID = Контакты.ID.
- Добавьте расчётные поля: «Маржа» = SUM(Сумма) — SUM(Себестоимость).
- Сохраните виртуальный набор → используйте как источник в графике.
- Постройте график на его основе (например, «Маржа по клиентам ТОП-20»).
Это базовый сценарий «по инструкции». Дальше — то, что инструкция вам не расскажет.
5 граблей с нашего опыта внедрений
1. JOIN сделан Inner — потеряли половину данных (сделки без контактов выпали)
Inner JOIN отбрасывает строки без совпадения. Половина сделок в B2C-сегменте — без CONTACT_ID. Лечение: Left Outer JOIN — все сделки + данные контактов где есть.
2. Расчётное поле «Маржа» использует SUM в условии — сломались разрезы по периодам
Агрегатные функции в формуле некорректно работают с фильтрами. Лечение: агрегирование на уровне графика (а не в формуле). Формула: «Маржа на строку» = Сумма — Себестоимость; график агрегирует SUM.
3. Виртуальный набор работает медленно — отчёт открывается 60+ секунд
JOIN 5 таблиц по 100к строк = миллиарды операций. Лечение: добавляем индексы (если SQL), или материализуем в Power BI / BigQuery.
4. Изменили формулу — старые отчёты, использующие набор, сломались
Виртуальный набор используется в 5 отчётах. Формулу поменяли — везде расчёт другой. Лечение: для существенных изменений — клонируем набор и меняем там, отчёты переключаем по очереди.
5. Кастомные поля в JOIN отсутствуют — данные «дырявые»
В одном источнике поле есть, в другом — нет. JOIN возвращает NULL. Лечение: COALESCE/IFNULL — подставляем дефолтное значение вместо NULL («Не указано»).
Сами или позвать интегратора
Сами справитесь, если: простой JOIN двух таблиц.
Зовите нас, если: сложные виртуальные наборы (5+ источников), расчётные поля, оптимизация производительности, регрессионное тестирование.
Аудит вашей CRM — бесплатно за 20 минут
Покажете нам экран портала — мы скажем, что работает «вхолостую», где дубли, где недонастроены условия, и сколько денег теряется. По итогам — готовый план оптимизации (берёте — реализуем мы или вы сами).
FAQ
Можно ли использовать SQL в виртуальном наборе?
В стандартном BI-Конструкторе — нет. Только графический конструктор. Для SQL — переходим в Power BI / Looker.
Поддерживаются ли оконные функции (ROW_NUMBER, RANK)?
Только в продвинутых BI-системах. Стандартный BI-Конструктор — базовые формулы.
Можно ли сделать UNION (объединение строк)?
Через расширенный режим виртуального набора. Базовые функции — JOIN.
Где смотреть план выполнения для оптимизации?
В стандартном BI-Конструкторе — нет EXPLAIN PLAN. Оптимизация эмпирическая (тестируем разные подходы).
Источник официальной инструкции
Полный текст со скриншотами и всеми вариантами настройки: helpdesk.bitrix24.ru/open/19498440/.