Як читати формули

Використовуйте 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(текст, кількість) повертає текст без перших N символів; removeright(текст, кількість) — без останніх N. Решта рядка не змінюється. Наприклад, removeleft("UA-001", 3) дає 001, а removeright("report.csv", 4) — report. Це відрізняється від left і right, які залишають відповідний фрагмент.