Как создать виджет по форме
Создавайте персонализированные отчёты в Сводке по форме Pyrus. Вам доступны как простые отчёты, так и интерактивные, которые динамически изменяются в зависимости от выбранных вами фильтров.

Шаг 1. Выбор типа визуализации и подготовка данных
Перед написанием запроса определитесь с конечным видом отчёта. Этот выбор определит структуру вашего SQL-запроса и формат данных, которые вы будете извлекать из полей формы Pyrus.
Вы можете выбрать один из следующих типов визуализации:
- таблица;
- круговая диаграмма;
- столбчатая диаграмма;
- временной ряд.
Виджеты будут строиться исключительно по тем данным, которые вы выбрали в SELECT. Убедитесь, что выборка корректна. Подробно требования к каждому типу диаграммы описаны здесь. Обязательно ознакомьтесь с ними, чтобы понять формат, требуемый для построения диаграммы.
Шаг 2. Добавление виджета в Сводку
Виджеты, созданные с помощью SQL по определенной форме, располагаются в разделе Сводка этой формы. Для удобства, эти персонализированные виджеты размещаются выше стандартных виджетов Pyrus.
Чтобы создать новый виджет, выполните следующие действия.
Откройте раздел Сводка интересующей вас формы.

Нажмите кнопку Добавить виджет в правом верхнем углу экрана.

Откроется редактор отчёта. Окно редактора разделено на две части: верхняя часть предназначена для отображения результатов запроса (отчёта); нижняя — для ввода запроса.
Для получения отчёта введите SQL-запрос, написанный на диалекте ClickHouse, и нажмите Выполнить.

Подробно о структуре данных для SQL-запроса
- Результатом выполнения запроса станет аналитическая таблица, диаграмма и т.д. — в зависимости от выбранной формы визуализации отчёта.
В качестве примера рассмотрим, как создать простой отчёт, который отображает кто и сколько задач по форме создал в течение последней недели.
В блок редактирования в нижней части экрана введите следующий SQL-запрос:
SELECT creator_id, COUNT(task_id) FROM #tasks WHERE DATE(create_date) >= DATE(now()) - 7 GROUP BY creator_id ORDER BY COUNT(task_id) DESC LIMIT 100;
Нажмите Выполнить. Вы увидите таблицу с общим количеством задач, созданных за последние 7 дней разными сотрудниками.

Шаг 3. Добавление псевдонимов
По умолчанию наименования столбцов таблицы и идентификаторов в наборе данных соответствуют наименованию переменных, добавленных в SELECT. Если вы хотите, чтобы данные отчёта отображались иначе, например с иными названиям столбцов, воспользуйтесь псевдонимами.
Подробно о том, что представляют собой псевдонимы и как применять их в персонализированных отчётах Pyrus, читайте здесь.
Пример создания виджета с переименованием столбцов и данных в таблице
Добавьте псевдонимы в ваш SQL-запрос и нажмите Выполнить.
SELECT
creator_id AS "#person_full_name('Автор')",
COUNT(task_id) AS "Задач создано"
FROM #tasks
WHERE DATE(create_date) >= DATE(now()) - 7
GROUP BY creator_id
ORDER BY COUNT(task_id) DESC
LIMIT 100;
После выполнения запроса столбцы в таблице будут отображаться под новыми названиями, также изменятся значения внутри таблицы.

Шаг 4. Добавление параметров
Чтобы отчёт стал по-настоящему интерактивным, необходимо использовать параметры, которые позволяют связать статический SQL-запрос с динамическим контекстом Pyrus, автоматически подставляя в запрос значения из стандартных фильтров Сводки (например, выбранный период дат или примененные фильтры по статусам).
Рассмотрим, как создать отчёт, который отображает число задач, созданных по форме (сделок), учитывая все активные фильтры, выбранные пользователем в верхней части Сводки, а также стоимость каждой сделки.
Добавим в нашу форму поле типа Деньги, укажем код поля ${Стоимость заявки}, в которой в каждой задаче будем указывать сумму заявки

Используя параметры, в блок редактирования в нижней части экрана введите следующий SQL-запрос:
SELECT
creator_id AS "#person_full_name('Автор')",
SUM(${Стоимость заявки}) AS "Общая сумма",
COUNT(task_id) AS "Задач создано"
FROM #tasks
WHERE
DATE(create_date) >= @period_start
AND DATE(create_date) < @period_end
AND #task_filters
GROUP BY creator_id
ORDER BY COUNT(task_id) DESC
LIMIT 100;
Нажмите Выполнить. Вы увидите количество задач, созданных в выбранном временном интервале. Если пользователь изменит фильтр Дата начала — Дата окончания в Сводке, данные в отчёте автоматически пересчитаются, так как параметры @period_start и @period_end обновятся.
Шаг 5. Настройка визуализации и внешнего вида
По умолчанию все данные в отчёте отображаются в соответствии с их типами и тем, как они определены в секции SELECT SQL-запроса. При необходимости вы можете изменить их визуализацию.
Перейдите в режим редактирования виджета, открыв его Настройки.

Рядом с заголовком таблицы появится значок шестеренки. Нажмите на него — в правой части экрана откроются детали настройки виджета.

Выбор типа диаграммы
Если вы подготовили набор данных, который соответствует требованиям выбранного типа визуализации (например, запросили одно число и одну дату), вы можете изменить тип диаграммы.
Откройте вкладку Диаграмма.

Выберите желаемый тип диаграммы, укажите колонки, которые будут использоваться при построении диаграммы. Например, выберите Круговая диаграмма и укажите, какая колонка будет использоваться как Значение, а какая — как Название.

Форматирование значений данных
Визуальное отображение самих значений (например, как представляются число или дата) можно изменить через настройки виджета. Чтобы видеть в отчёте сумму сделок в рублях, выберем для данных типа Деньги соответствующее форматирование, а также укажем валюту.
Откройте вкладку Колонки. Разверните настройки колонок, для каждого набора данных можно выбрать собственный формат отображения на диаграмме.

Подробнее про доступные форматы данных и их настройку
Управление таблицей
Данные из формы в виде Таблицы визуализируются всегда — вне зависимости от выбранного формата отображения. В иных типах отображения таблицу можно скрыть под выбранной диаграммой. Для этого откройте раздел Таблица в настройках виджета и установите соответствующую галочку.

Если вы хотите сгруппировать значения в таблице по нескольким столбцам, выберите доступный вариант группировки.
Рассмотрим на примере. Мы хотим отображать, сколько задач на каждый день создал каждый сотрудник, а также сумму сделок, которые фигурируют в этих задачах. В блок редактирования в нижней части экрана введите следующий SQL-запрос:
SELECT DATE(create_date) AS "Дата", creator_id AS "#person_full_name('Автор')", SUM(${Стоимость заявки}) AS "Сумма сделок", COUNT(task_id) AS "Задач создано" FROM #tasks WHERE DATE(create_date) >= @period_start AND DATE(create_date) < @period_end AND #task_filters GROUP BY DATE(create_date), creator_id ORDER BY DATE(create_date) DESC, COUNT(task_id) DESC LIMIT 100;Нажмите Выполнить. Вы увидите количество задач, созданных каждым сотрудником на каждый день за выбранный интервал в фильтре, а также суммы заключенных ими сделок, представленные в виде таблицы.

Например, выберите группировку По первой колонке. Тогда у вас таблица станет иерархической, по умолчанию будет отображаться значение из одной колонки, при раскрытии выбранного значения - отобразятся все остальные значения для выбранной строки.

Шаг 6. Управление и администрирование виджетов
Сохранение виджета
После того как все настройки (SQL-запрос, тип диаграммы, форматирование) определены, виджет необходимо сохранить. Нажмите Сохранить в верхней правой части экрана в режиме редактирования виджета.

Редактирование виджета
Откройте сводку и наведите курсор на нужный виджет. Около выбранного виджета появится значок с тремя точками, нажмите на него.
Нажмите Настройки.

Внесите желаемые изменения в виджет.
Нажмите Сохранить, и все ваши изменения будут применены в отчёте.
Настройка порядка виджетов
Перейдите в Сводку по форме.
Нажмите Настроить виджеты.

Перемещайте виджеты с помощью drag-and-drop между левой и правой колонками. Чтобы скрыть виджет нажмите значок глаза справа от его названия.

Подсказка: все изменения порядка сохраняются и применяются для отображения для всех пользователей, имеющих доступ к этой вкладке.
Настройка прав доступа
Отчёты, созданные в сводках по конкретным формам, по умолчанию видны Менеджерам и Администраторам формы.
Подробнее о правах пользователя в формах
Удаление виджета
Откройте требуемую сводку для изменения.
Перенесите курсор на нужный виджет и нажмите три точки.
Нажмите Удалить виджет.

Что дальше?
Если вы хотите собрать несколько виджетов, созданных по разным формам, в единый аналитический отчёт, вам необходимо создать Отчёт. Подробнее про создание, настройку отчётов и управление правами доступа к ним читайте в следующей статье.