Перейти к содержимому

Формулы в виджетах

Значение виджета обычно собирают шагами в конструкторе: таблица, колонка, «Как» считать, какие записи учитывать. Это описано в «Как виджет считает значение». Любой расчёт из шагов можно показать формулой. Её можно посмотреть и, если нужно, написать вручную.

Ручная формула нужна, когда шагов не хватает: условие внутри суммы, произведение двух колонок в строке, сложная арифметика. Формулы в виджетах доступны на всех тарифах.

  1. Откройте настройку виджета (меню виджета → «Настроить»). Вкладка «Данные», группа «Что считать».
  2. Под шагами нажмите «Показать формулу». Появится формула, которую собрали шаги. Её можно «Копировать».
  3. Нажмите «Изменить», и откроется редактор формулы.
  4. Напишите формулу. Подсказки появляются, когда вы печатаете SUM, [ или имя поля. Справа есть панель «Поля и функции»: клик вставляет поле или функцию.
  5. В «Показать как» выберите, как показать результат: «Число», «₽» или «%».
  6. Нажмите «Сохранить» внизу окна.

Справа от формулы видно, как она читается: «Сначала…», «Потом…», «Итог» за текущий период. Ниже «Пример расчёта» на первых строках таблицы.

Если формулу можно разложить обратно на шаги, появится кнопка «Вернуться к шагам». Если нельзя, будет надпись «Эту формулу не разложить на шаги»: виджет будет считать по ручной формуле.

Поле-формула в таблице Формула виджета
Где живёт В колонке таблицы В настройке виджета
Как считается Для каждой строки По всем строкам за период
Ссылка на поле [Сумма] [Таблица.Поле] внутри агрегата: SUM([Расходы.Сумма])

Виджет сводит много строк к одному числу, поэтому каждое поле должно стоять внутри агрегата:

Агрегат Что считает
SUM (СУММ) Сумму
AVG (СРЗНАЧ) Среднее
COUNT (СЧЁТ) Число непустых значений
MIN / MAX (МИН / МАКС) Наименьшее / наибольшее
SUMPOS Сумму только положительных (приход)
SUMNEG Сумму отрицательных по модулю (расход)

Поле вне агрегата даёт ошибку «Поле вне агрегата — оберните в агрегат: SUM([Таблица.Поле])».

Внутри агрегата можно считать по строке: SUM([Сделки.Количество] * [Сделки.Цена]) даст сумму произведений.

В одной формуле можно ссылаться на разные таблицы: [Таблица.Поле]. Первая выбранная таблица становится основной, остальные подключаются, когда вы выбираете их в шагах или в панели полей.

В одном агрегате можно брать только одну таблицу. Чтобы совместить таблицы, разнесите их по разным агрегатам:

SUM([Аренда.Платёж]) - SUM([Расходы.Сумма])

Если смешать таблицы в одном агрегате, появится ошибка «Агрегат смешивает таблицы … — разнесите по отдельным агрегатам».

LOOKUP (ВПР) подставляет значение из таблицы-справочника по ключу. Так считают стоимость портфеля по текущим ценам:

SUM([Сделки.Количество] * LOOKUP([Сделки.Тикер], [Рыночные цены.Тикер], [Рыночные цены.Цена]))

Без ручной формулы то же делает шаг «Значение из справочника». Подробнее в «Биржевые цены в формулах».

Форма Что задаёте Виджеты
Значение Одну формулу, одно число KPI, Счётчик, Цель, Факт vs цель
Два значения Две формулы Сравнение («Левая метрика» / «Правая метрика»), Изменение, % («Стало» / «Было»), Шкала («Целое или остаток» / «Часть»), Приход и расход («Приход» / «Расход»)
Линия по времени Формулу и ось дат Линейный график, График с заливкой, Прогноз
Категории Формулу и признак разбивки Столбчатые, Кольцо, Круговая, Разбивка по категориям, Карта долей, Топ-N, Структура, Доли, Каскад

У графиков ручная формула включается переключателем «Посчитать формулой»; рядом задаются «По какой дате (ось X)» и «Шаг по времени».

Денежные поля перед подсчётом приводятся к одной валюте, валюте отображения. Курсы Sumvest подтягивает сам.

Только расходы из общей таблицы операций (KPI, «Показать как»: ₽):

SUMNEG([Операции.Сумма])

Доходы минус расходы из двух таблиц (KPI, ₽):

SUM([Доходы.Сумма]) - SUM([Расходы.Сумма])

Средний чек (KPI, ₽):

SUM([Продажи.Сумма]) / COUNT([Продажи.Сумма])

Доля расходов на аренду (KPI, %):

SUM(IF([Расходы.Категория] == "Аренда", [Расходы.Сумма], 0)) / SUM([Расходы.Сумма]) * 100

Формат «%» показывает число как есть, поэтому долю умножаем на 100.

Сообщения видны прямо под формулой.

Сообщение Причина Что сделать
«Поле вне агрегата — оберните в агрегат» Поле стоит без агрегата Оберните в SUM, AVG, COUNT…
«Таблица «…» не подключена — добавьте её» Ссылка на таблицу, которой нет в виджете Выберите таблицу в шаге или в панели полей
«Нет поля «…» в таблице «…»» Опечатка или поле удалено Проверьте название поля
«Агрегат смешивает таблицы …» В одном агрегате поля разных таблиц Разнесите по отдельным агрегатам
«Результат не число» Формула вернула текст Приведите к числу
«Для сравнения используйте «==», а не «=»» Одиночный = Поставьте ==
  • Каждое поле стоит внутри агрегата.
  • В одном агрегате одна таблица.
  • Межстрочные функции внутри агрегатов не работают.