MOD-ANALYTICS — Аналитика и отчёты
Лицензия: Платный
Аналитический контур платформы: собственный слой данных (витрины), язык формул с мерами, запросы с разрезами и провенансом, дашборды на холсте, агенты обработки данных и управление всем этим словами через ИИ-ассистента.
Ключевое свойство модуля — проверяемость. Каждое число сопровождается указанием
источника и способа расчёта: ответ запроса несёт время последней загрузки витрины,
число строк в пределах ваших прав, число строк, скрытых правами, и признак
verified. Недоступный источник даёт честный отказ, а не ноль; ошибка формулы —
пустое значение и запись об ошибке, а не тихий ноль.
Витрины данных
Набор данных описывает, откуда брать строки: инструмент-источник (сделки CRM, сущности Битрикс24, план продаж), поля-ключи, список хранимых колонок с типами и подписями, поля владельца и отдела строки, поле-курсор для инкремента и расписание обновления. Строки складываются в хранилище модуля и дальше считаются локально — каждый расчёт больше не ходит в модуль-источник.
- Полная загрузка обновляет строки и удаляет исчезнувшие; инкрементальная читает только изменившееся с прошлого раза. Без поля-курсора инкремент честно выполняется как полная загрузка.
- Права применяются при ЧТЕНИИ витрины: строка хранит владельца и отдел, и каждый, кто смотрит, видит только своё. Поэтому одна и та же плитка у двух сотрудников может законно показывать разные числа.
- Журнал загрузок хранит статус, режим, число прочитанных, обновлённых и удалённых строк, страницы и ошибку; идущую загрузку можно остановить.
- Обновление по расписанию (пять полей cron с диапазонами, шагами и списками).
Формулы и меры
Язык «Формулы Modula» — DAX-подобный: агрегаты (SUM, COUNT, COUNTROWS,
DISTINCTCOUNT, AVERAGE, SUMX…), скаляры (IF, SWITCH, DIVIDE, ROUND,
COALESCE, FORMAT…), даты (YEAR, MONTH, DATEDIFF, STARTOFMONTH…),
показатели времени (TOTALYTD, TOTALMTD, SAMEPERIODLASTYEAR,
DATESINPERIOD…) и функции контекста (CALCULATE, FILTER, ALL, VALUES,
RELATED). Формулы вычисляются на сервере над строками витрины, уже
отфильтрованными по вашим правам.
SUM(amount)
DIVIDE(CALCULATE(COUNTROWS(deals), stage = "C21:WON"), COUNTROWS(deals))
DIVIDE(SUM(amount), CALCULATE(SUM(amount), ALL(deals)))
TOTALYTD(SUM(amount), created)
Мера считается заново в каждой группе разреза, ALL снимает разрез — так
получаются доли от итога. Вычисляемая колонка считается в контексте строки при
загрузке. Формулу можно проверить до сохранения: проверка возвращает позицию
ошибки и подсказку «ближайшее имя», а мера с неверной формулой не сохраняется.
Есть справочник функций с сигнатурами и примерами.
Запросы и выгрузка
Запрос к витрине принимает разрезы (в том числе по дате с гранулярностью день / неделя / месяц / квартал / год), меры (сохранённые или разовые формулой), фильтры, сортировку, постраничность и сравнение с прошлым периодом или с годом назад. В ответе — строки по группам, итоги, типы и подписи колонок, сведения о происхождении данных и перечень ошибок. Результат выгружается в книгу XLSX со строкой итогов.
Наборы можно связывать между собой (сторона «многие» → сторона «один»), после чего в формулах работают обращения к полям связанного набора. Мост со старым каталогом позволяет сделать из меры обычную метрику, чтобы существующие отчёты и расписания считали её без переписывания.
Возможности
- Витрины данных поверх инструментов модулей: схема колонок, расписание, инкрементальное обновление, журнал загрузок
- Язык формул с мерами, вычисляемыми колонками и проверкой формулы до сохранения
- Запросы с разрезами, фильтрами, итогами, сравнением периодов и выгрузкой в XLSX
- Связи между наборами данных и обращение к полям связанного набора
- Метрики: источник-инструмент, поле значения, агрегация, фильтры, единица измерения
- Отчёты по набору метрик с группировками и периодом, сохранение результата
- Вопрос на естественном языке с ответом и перечнем использованных метрик
- Проверка отдельного значения с честным отказом, если проверка невозможна
- Расписания: регулярная сборка отчёта и рассылка получателям
- Агенты обработки данных: расписание, лента находок, реестр запусков, остановка
- Журнал запросов с длительностью выполнения
- Живые события аналитики по SSE
Основные MCP-инструменты
| Инструмент | Назначение |
|---|---|
analytics__dataset.upsert | Создать или изменить витрину данных |
analytics__dataset.load | Загрузить строки из источника (полностью или инкрементом) |
analytics__dataset.loads | Журнал загрузок витрины |
analytics__dataset.preview | Первые строки витрины в пределах прав |
analytics__formula.validate | Проверить формулу до сохранения |
analytics__formula.functions | Справочник функций языка формул |
analytics__measure.upsert | Создать или изменить меру |
analytics__column.upsert | Вычисляемая колонка витрины |
analytics__query | Запрос к витрине: разрезы, меры, фильтры, итоги |
analytics__query.export | Выгрузить результат запроса в XLSX |
analytics__relation.upsert | Связь между наборами данных |
analytics__metric.from_measure | Метрика старого каталога поверх меры |
analytics__agent_task.upsert | Задача агента обработки данных |
analytics__agent_run.list | Запуски агентов: статус, шаги, токены |
analytics__insight.list | Лента находок агентов |
analytics__analytics.compute_metric | Вычислить метрику |
analytics__analytics.build_report | Собрать отчёт по метрикам |
analytics__analytics.ask | Задать вопрос на естественном языке |
analytics__analytics.verify_value | Перепроверить конкретное значение |
analytics__analytics.schedule_report | Поставить отчёт на расписание |
analytics__analytics.get_query_log | Журнал аналитических запросов |
Блоки холста
mart-kpi— показатель витрины по всему срезуmart-trend— динамика меры по месяцамmart-breakdown— структура меры по категорииmart-gauge— шкала достижения целиmart-compare— сравнение с прошлым периодомmart-table— разрезы и меры таблицей с итогамиmetric-card,metric-field— метрика каталога и её полеreport-card,report-field— аналитический отчёт и его поле
Блок выполняет запрос под правами того, кто смотрит холст.
Агенты обработки данных
Агент — серверная задача: по расписанию, после обновления витрины или вручную модель читает витрины и меры и пишет результат — находку в ленту, отчёт или уведомление адресатам. Инструменты агента ограничены белым списком, шаги и расход токенов — пределами задачи; каждый запуск виден в реестре со статусом, числом шагов и токенов, его можно остановить. Расход на модель учитывается через модуль учёта расхода на ИИ. Если служебный доступ не настроен, инструменты запуска честно отвечают отказом, а не молчат.
Ассистент
У модуля есть профиль ассистента «Аналитик» и база знаний: грамматика языка формул, справочник функций, инструкции по витринам, мерам, агентам и привязке к холсту. Просьба вида «сделай витрину сделок, добавь меру конверсии по менеджерам, поставь на дашборд и пусть агент по утрам присылает сводку» выполняется целиком: ассистент создаёт набор, загружает строки, проверяет формулу, сохраняет меру, добавляет блоки на холст и ставит задачу агенту.
Настройки модуля
| Настройка | Назначение |
|---|---|
| Интервал проверки витрин | Как часто планировщик ищет наборы к обновлению |
| Размер страницы и максимум страниц загрузки | Пределы одного прохода по источнику |
| Одновременных загрузок витрин | Сколько наборов грузится параллельно |
| Хранить журнал загрузок | Срок хранения записей журнала |
| Максимум строк среза в запросе | Предел строк, участвующих в расчёте формул |
| Время выполнения запроса | Крайний срок расчёта |
| Интервал планировщика агентов, модель по умолчанию, одновременных запусков, крайний срок запуска | Пределы работы агентов обработки данных |
Связанные модули
- MOD-DATA — источники данных, поверх которых строятся витрины
- MOD-CRM — воронка продаж как источник строк
- MOD-INT-B24 — сущности Битрикс24 как источник строк
- MOD-CANVAS — дашборды с блоками витрин и отчётов
- MOD-AI-USAGE — учёт расхода на ИИ у агентов обработки данных
- MOD-NOTIFICATION-ROUTING — доставка отчётов по расписанию