Запросы

Блоки данных работают через SQL-запросы к подключённым источникам. Запрос описывается в конфигурации блока, проверяется до выполнения и кэшируется.

Выполнение и проверка

  • выполнение — POST /api/query/execute к любому подключённому источнику;
  • проверка до выполнения — POST /api/query/validate: синтаксис, колонки, источники;
  • у запроса есть таймаут (30 000 мс по умолчанию) и лимит строк (10 000 по умолчанию) — защита от случайных «SELECT * FROM огромная_таблица»;
  • описание запроса поддерживает Scriban-переменные документа.

Кэширование

  • кэш результатов ускоряет повторные открытия отчёта;
  • статистика кэша — GET /api/query/cache/statistics;
  • очистка — POST /api/query/cache/clear.

Серверные вычисления

Тяжёлая аналитика считается на сервере: гистограммы (POST /api/query/histogram) и box plot (POST /api/query/boxplot) не гоняют данные в клиент целиком — на клиент уходит готовый результат.

Привязка к блоку

Запрос живёт в конфигурации блока и привязывается по queryId. Валидатор проверяет существование запроса и его источника — подробнее в разделе Проверки и авто-коррекция.

ИИ и производительность

Не хотите писать SQL? Опишите словами, что нужно — ИИ напишет или исправит запрос (подробнее — ИИ-агент в отчёте). Рекомендации по производительности: фильтруйте по датам, считайте агрегаты в SQL, а не в блоке, и используйте лимит строк.

← Оглавление документации