Обучение Урок 11 из 12
SQL-отчёт
- Цель
- Сохранить запросы с параметрами и графиками по представлению process_daily, заданиям jobs и пользовательскому отчёту
- Время
- 30 минут
Файлы примеров
- payments_by_status.sql — 710 Б
- runs_by_day.sql — 526 Б
Что понадобится #
- Оркестратор с базой отчётов и право писать SQL в рабочей области (разработчик, владелец области или аналитик).
- Задания за несколько дней и отчёт
Платежис записями — из урока Отчёт роботом. - Файлы примеров — тексты запросов:
runs_by_day.sql— запуски процесса по дням (представлениеprocess_daily);payments_by_status.sql— платежи по статусам: таблица отчётаr_payments, соединённая с заданиямиjobs.
Запросы выполняются к базе отчётов — копии данных оркестратора и пользовательских отчётов. Копия обновляется каждые 5 минут. Запрос только читает данные своей области: изменить или удалить что-то SQL-запросом нельзя.
Шаг 1. Редактор запросов #
- В панели откройте «Отчёты» и нажмите «Запросы», затем «Новый запрос».
- Слева — «Схема»: в «Данные оркестратора» —
jobs,queue_items,process_daily,robot_dailyи другие, в «Пользовательские отчёты» — таблицы отчётов с приставкойr_(отчётpayments—r_payments). Таблицу можно развернуть, чтобы увидеть колонки с подсказками, и вставить её имя в запрос. - «Примеры» — готовые запросы: успешность по процессам, загрузка роботов, частые ошибки.

Шаг 2. Запрос с параметрами #
- Скопируйте текст
runs_by_day.sqlв поле «Текст запроса». - В тексте три параметра —
:from,:toи:process. В блоке «Параметры» задайте им «Подпись» (С даты, По дату, Процесс) и «Тип»: «Дата» дляfromиto, «Текст» дляprocess. - Значения:
today-30,todayи часть имени процесса, напримерпроверка. Даты можно писать и относительно:today,yesterday,startOfMonth,today-7— они считаются в момент запуска. - Нажмите «Выполнить» (Ctrl+Enter). Внизу — «Результат»: на вкладке «Таблица» — строка на каждый день.
Значения параметров никогда не вставляются в текст запроса — они передаются отдельно, поэтому запрос с параметрами безопасен.
Шаг 3. График #
- Откройте вкладку «График».
- «Вид» — «Линия», «Ось X» —
day, «Значения» —succeededиfailed.

График сохраняется вместе с запросом.
Шаг 4. Сохраните запрос #
Нажмите «Сохранить». «Название» — Запуски по дням, «Доступ» — «Вся область»: общий запрос выполняют все, кто видит
отчёты области, а «Только я» — личный. Нажмите «Сохранить».
Шаг 5. Отчёт робота и задания вместе #
- «Новый запрос» → текст
payments_by_status.sql. Здесьr_paymentsсоединяется сjobsпо колонке_job_id: у каждой записи отчёта есть системные колонки_created_at,_job_id,_robot,_process. - Параметры
fromиto— тип «Дата и время», значенияtoday-30иtomorrow. - «Выполнить», затем «График»: «Вид» — «Круговая», «Ось X» —
status, «Значения» —payments. - Сохраните как
Платежи по статусам.
Шаг 6. Сохранённые запросы #
В «Запросы» — оба запроса. Откройте запрос: на его странице можно поменять «Значения параметров» и нажать «Выполнить», не трогая текст, и выгрузить все строки в CSV или Excel.

Что должно получиться #
Запуски по дням: строки за последние 30 дней, где процесс запускался; на графике — две линии.Платежи по статусам: три строки —Новый,Оплачен,Ошибка— с числом записей и суммой; на круговой диаграмме больше всегоНовый.- Другой участник области видит оба запроса в «Запросы» и выполняет их со своими значениями параметров.
Если не получилось #
| Что видно | Что сделать |
|---|---|
| „PostgreSQL не выполнил запрос“ с указанием строки и столбца | Нажмите «Показать в тексте» — курсор встанет на место ошибки. Частая причина — опечатка в имени колонки: сверьтесь со «Схема». |
Нет таблицы r_payments |
Отчёт создан в другой области или ещё не появился в копии — подождите 5 минут. |
| Запрос не вернул строк | Проверьте значения параметров: даты from и to и часть имени процесса. Задания последних минут попадают в копию с задержкой до 5 минут. |
Ошибка при UPDATE, DELETE или двух запросах подряд |
В запросе — один оператор SELECT или WITH: база отчётов только для чтения. |
| Просят задать значения параметров | У каждого :параметра из текста должно быть значение или значение по умолчанию. |
Схема представлений и примеры запросов — в документации: Отчёты.