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

Межстрочные функции

Межстрочные функции считают значение с оглядкой на соседние строки: накопительная сумма, значение из предыдущей строки, скользящее среднее, место в рейтинге. В редакторе они собраны в группе «По строкам».

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

  • «предыдущая» строка для lag добавлена позже текущей;
  • running_sum копит сумму от самой новой записи к старым и начинается заново в каждой порции.

Для динамики во времени (нарастающий итог, изменение к прошлому месяцу, скользящее среднее) надёжнее виджеты: линейный график, KPI со сравнением, «Сравнение периодов». Межстрочные функции подходят для небольших таблиц, которые вы заполняете по порядку.

Накопительная сумма от первой строки до текущей включительно.

running_sum([Сумма])
running_sum(if([Тип] == "Доход", [Сумма], -[Сумма]))

Значение из строки на n позиций раньше. Если такой строки нет, результат пустой.

lag([Цена]) // значение соседней строки
lag([Сумма], 3) // три строки назад

То же, но в другую сторону.

lead([Дата платежа])

Скользящее среднее за последние n строк, включая текущую.

window_avg([Сумма], 3)

Пусто, если n ≤ 0 или все значения окна пустые.

Место по убыванию: строка с наибольшим значением получает 1. Равные значения получают одинаковое место. Пустые значения не участвуют.

rank([Доходность]) // место актива по доходности

rank не зависит от порядка строк, но тоже видит только загруженную порцию.

  • В формуле виджета внутри агрегата межстрочные функции не работают: им нужен порядок строк, а агрегат его не задаёт.
  • Если n больше, чем строк до текущей, lag вернёт пусто.
  • sum([Сумма]): одно число по всем строкам (агрегат).
  • running_sum([Сумма]): своё накопленное число в каждой строке.
  • Ждут, что lag возьмёт прошлый месяц. Строки идут в порядке добавления, а не по дате. Для «к прошлому периоду» используйте сравнение в KPI.
  • rank по полю-связи. Связь хранит ссылку, ранжировать по ней бессмысленно. Ранжируйте по числу.