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

Обзор формул

Формула — это правило вычисления значения. В Invest формулы есть только в одной форме — как тип поля датасета («Формула»). Виджеты не пишут собственных формул в свободной форме — они считают агрегаты по существующим полям, включая формулы-поля.

Что формула умеет

  • Брать значения из других полей строки.
  • Применять арифметику и сравнения.
  • Вызывать одну из 47 встроенных функций (математика, даты, финансы, агрегаты, кросс-строчные).
  • Возвращать число, строку, булево или null.

Где результат используется

  • В колонке таблицы датасета (видно сразу).
  • В KPI / графиках / таблицах на дашборде — как любое другое поле.
  • В фильтрах — формулы можно фильтровать так же, как обычные поля.
  • В drill-down — формула показывается в превью строки.

Что формула НЕ умеет

  • Принимать значения вне строки. Формула считается на каждой строке отдельно. Исключение — агрегатные функции (sum, avg, count) и кросс-строчные (lag, lead, running_sum, window_avg, rank), которые работают на уровне виджета/таблицы.
  • Обращаться к полям связанной строки. Точечной нотации (object.price) нет. См. «Связи в формулах».
  • Вызывать пользовательские функции. Своих функций добавить нельзя; только встроенные.
  • Менять данные. Формула только читает и возвращает значение.

Минимальные примеры

amount * 12
if(category == "Зарплата", amount, 0)
roi(monthly_rent * 12 - annual_expenses, purchase_price)
date_diff(today(), purchase_date, 'years')

Когда формула, когда фильтр

ЗадачаРешение
«Хочу колонку «Сумма зарплаты»».Формула в датасете.
«Хочу видеть только зарплаты на дашборде».Фильтр виджета.
«Хочу одну цифру: сумма зарплат за месяц».Виджет KPI с агрегацией по фильтрованному датасету.
«Хочу каждой строке посчитать процент от месячного дохода».Формула + кросс-строчная или агрегатная функция (но нужны границы).

Подсказка-правило

Если значение нужно в строке — пишите формулу-поле. Если нужно на дашборде — настраивайте агрегат и фильтры виджета.

Что дальше