Все функции описываемой версии: сигнатуры, назначение и примеры.
Как читать формулы
Используйте field("Назва") для столбца и param("Назва") для параметра предыдущего блока в текущей ветке. Поля вычисляются в заданном порядке; ссылка на ещё не рассчитанное поле вызывает ошибку. Числовой текст сначала нормализуйте блоком форматов чисел.
round(number(field("Quantity")) * number(field("Price")), 2)
Формула ограничена 2048 символами и максимальной сложностью выражения. Доступны только разрешённые операции и функции; это не среда выполнения произвольного кода.
Поля
| Функция | Назначение | Пример |
|---|
field(назва) | Значение столбца текущей строки. | field("Revenue") |
param(назва) | Параметр предыдущих блоков только в текущей ветке. | param("Rate") |
Числа
| Функция | Назначение | Пример |
|---|
number(значення) | Преобразует значение в число после блока форматов чисел. | number("12.5") |
abs(число) | Абсолютная величина. | abs(-12) |
round(число,знаків?) | Округляет половинные значения от нуля; точность от −15 до 15. | round(12.345, 2) |
min(числа*) | Наименьшее из переданных чисел. | min(3, 8, 2) |
max(числа*) | Наибольшее из переданных чисел. | max(3, 8, 2) |
sum(числа*) | Сумма аргументов текущей строки. Для суммы по строкам используйте группировку. | sum(10, 20, 30) |
average(числа*) | Среднее арифметическое аргументов. | average(10, 20) |
ceil(число) | Округляет к положительной бесконечности. | ceil(-1.2) |
floor(число) | Округляет к отрицательной бесконечности. | floor(-1.2) |
trunc(число,знаків?) | Отбрасывает дробную часть без округления. | trunc(12.349, 2) |
roundup(число,знаків?) | Округляет от нуля. | roundup(12.341, 2) |
rounddown(число,знаків?) | Округляет к нулю. | rounddown(-12.349, 2) |
sqrt(число) | Квадратный корень неотрицательного числа. | sqrt(144) |
power(основа,степінь) | Возводит основание в степень (показатель от −1000 до 1000). | power(2, 8) |
mod(число,дільник) | Остаток от деления со знаком делителя. | mod(-7, 3) |
sign(число) | −1 для отрицательного числа, 0 для нуля, 1 для положительного. | sign(-12) |
log(число,основа?) | Логарифм; основание по умолчанию — 10. | log(1000, 10) |
exp(число) | Экспонента: e в переданной степени. | exp(1) |
clamp(число,мінімум,максимум) | Ограничивает число заданным интервалом. | clamp(120, 0, 100) |
percent(число,відсоток) | Указанный процент числа. | percent(200, 15) |
pi() | Число π. | pi() |
Текст
| Функция | Назначение | Пример |
|---|
text(значення) | Преобразует значение в текст. | text(125) |
concat(значення*) | Соединяет текстовые значения. | concat("Plan", "-", 2026) |
upper(текст) | Верхний регистр. | upper("hello") |
lower(текст) | Нижний регистр. | lower("HELLO") |
title(текст) | Делает первую букву каждого слова заглавной. | title("hello world") |
trim(текст) | Удаляет начальные и конечные пробелы. | trim(" hello ") |
length(текст) | Количество символов Unicode. | length("Київ") |
left(текст,кількість) | Первые N символов. | left("abcdef", 3) |
right(текст,кількість) | Последние N символов. | right("abcdef", 3) |
mid(текст,позиція,кількість) | Фрагмент текста; первая позиция — 1. | mid("abcdef", 2, 3) |
replace(текст,старий,новий) | Заменяет все вхождения подстроки. | replace("a-b-c", "-", "/") |
find(шукати,текст,позиція?) | Позиция подстроки с учётом регистра; 0, если не найдена. | find("b", "abc") |
search(шукати,текст,позиція?) | Позиция подстроки без учёта регистра; 0, если не найдена. | search("B", "abc") |
contains(текст,частина) | Содержит ли текст подстроку. | contains("abcdef", "cd") |
starts_with(текст,початок) | Начинается ли текст с указанной подстроки. | starts_with("ABC", "A") |
ends_with(текст,кінець) | Заканчивается ли текст указанной подстрокой. | ends_with("ABC", "C") |
clean(текст) | Удаляет управляющие символы. | clean("A\nB") |
repeat(текст,кількість) | Повторяет текст в пределах 32768 символов. | repeat("0", 3) |
padleft(текст,довжина,символ?) | Дополняет слева одним символом, по умолчанию пробелом. | padleft("42", 5, "0") |
padright(текст,довжина,символ?) | Дополняет справа одним символом. | padright("42", 5, "0") |
transliterate(текст) | Однозначная транслитерация кириллицы и греческого текста и удаление диакритики латиницы. | transliterate("Київ") |
Даты
| Функция | Назначение | Пример |
|---|
date(рік,місяць,день) | Создаёт корректную календарную дату ISO. | date(2026, 9, 27) |
today() | Текущая дата UTC, фиксированная для всего блока. | today() |
now() | Время UTC, фиксированное для всего блока. | now() |
datevalue(текст,формат?) | Разбирает дату; по умолчанию ISO или формат strptime. | datevalue("27.09.2026", "%d.%m.%Y") |
formatdate(дата,формат) | Форматирует дату; %Y — год, %m — месяц, %d — день. | formatdate("2026-09-27", "%d.%m.%Y") |
year(дата) | Год даты. | year("2026-09-27") |
month(дата) | Месяц даты, от 1 до 12. | month("2026-09-27") |
day(дата) | День месяца. | day("2026-09-27") |
hour(датачас) | Час UTC, от 0 до 23. | hour("2026-09-27T12:30:00Z") |
minute(датачас) | Минута, от 0 до 59. | minute("2026-09-27T12:30:00Z") |
second(датачас) | Секунда, от 0 до 59. | second("2026-09-27T12:30:05Z") |
weekday(дата) | День недели ISO: понедельник — 1, воскресенье — 7. | weekday("2026-09-27") |
weeknum(дата) | Номер недели ISO. | weeknum("2026-09-27") |
adddays(дата,днів) | Прибавляет или вычитает календарные дни. | adddays("2026-09-27", 7) |
addmonths(дата,місяців) | Сдвигает дату по месяцам; день ограничивается концом месяца. | addmonths("2026-01-31", 1) |
datediff(початок,кінець,одиниця?) | Разность в days, months (полных месяцах), years (полных годах), hours, minutes или seconds. | datediff("2026-01-01", "2026-02-01", "days") |
eomonth(дата,зсув?) | Последний день текущего или сдвинутого месяца. | eomonth("2026-01-15", 1) |
Условия
| Функция | Назначение | Пример |
|---|
coalesce(значення*) | Первое значение, не равное null и не пустое. | coalesce(None, "", 0, 5) |
ifelse(умова,так,ні) | Ленивое условие: вычисляется только выбранная ветка. | ifelse(10 > 5, "yes", "no") |
iferror(вираз,заміна) | Подставляет запасное значение при ошибке вычисления; синтаксические ошибки и отсутствующие поля не скрываются. | iferror(10 / 0, 0) |
isblank(значення) | Равно ли значение null или пустому тексту. | isblank("") |
isnumber(значення) | Является ли значение числом, а не текстом или логическим значением. | isnumber(12.5) |
istext(значення) | Является ли значение текстом. | istext("12") |
and_(умови*) | Все условия истинны; ленивое вычисление. | and_(1 > 0, 2 > 1) |
or_(умови*) | Хотя бы одно условие истинно; ленивое вычисление. | or_(False, True) |
not_(умова) | Логическое отрицание. | not_(False) |
Удаление текста с начала или конца
removeleft(text, count) возвращает текст без первых N символов; removeright(text, count) удаляет последние N символов. Остальной текст не меняется. Например, removeleft("UA-001", 3) даёт 001, а removeright("report.csv", 4) даёт report. Это отличается от left и right, которые сохраняют соответствующий фрагмент.