Обзор формул
Формула — это правило вычисления значения. В Sumvest формулы используются в двух местах:
- Поле-формула в датасете («Формула») — считается на каждой строке отдельно. Этот раздел в основном про неё.
- Формула значения виджета — на тарифе Pro можно задать значение виджета формулой по всем строкам (а не просто «поле + агрегат»). Это отдельный режим: «Формулы в виджетах (Pro)».
Синтаксис и встроенные функции у них общие — отличается только то, на каком наборе данных формула считается.
Что формула умеет
Заголовок раздела «Что формула умеет»- Брать значения из других полей строки.
- Применять арифметику и сравнения.
- Вызывать одну из 45 встроенных функций (математика, даты, финансы, агрегаты, кросс-строчные).
- Возвращать число, строку, булево или null.
Где результат используется
Заголовок раздела «Где результат используется»- В колонке таблицы датасета (видно сразу).
- В KPI / графиках / таблицах на дашборде — как любое другое поле.
- В фильтрах — формулы можно фильтровать так же, как обычные поля.
- В drill-down — формула показывается в превью строки.
Что формула НЕ умеет
Заголовок раздела «Что формула НЕ умеет»- Принимать значения вне строки. Формула считается на каждой строке отдельно. Исключение — агрегатные функции (
sum,avg,count) и кросс-строчные (lag,lead,running_sum,window_avg,rank), которые работают на уровне виджета/таблицы. - Обращаться к полям связанной строки. Точечной нотации (
object.price) нет. См. «Связи в формулах». - Вызывать пользовательские функции. Своих функций добавить нельзя; только встроенные.
- Менять данные. Формула только читает и возвращает значение.
Минимальные примеры
Заголовок раздела «Минимальные примеры»amount * 12if(category == "Зарплата", amount, 0)roi(monthly_rent * 12 - annual_expenses, purchase_price)date_diff(today(), purchase_date, 'years')Когда формула, когда фильтр
Заголовок раздела «Когда формула, когда фильтр»| Задача | Решение |
|---|---|
| «Хочу колонку «Сумма зарплаты»». | Формула в датасете. |
| «Хочу видеть только зарплаты на дашборде». | Фильтр виджета. |
| «Хочу одну цифру: сумма зарплат за месяц». | Виджет KPI с агрегацией по фильтрованному датасету. |
| «Хочу каждой строке посчитать процент от месячного дохода». | Формула + кросс-строчная или агрегатная функция (но нужны границы). |
Подсказка-правило
Заголовок раздела «Подсказка-правило»Если значение нужно в строке — пишите формулу-поле. Если нужно на дашборде — настраивайте агрегат и фильтры виджета.