Усі функції з контракту наданої версії: сигнатури, призначення та приклади.
Як читати формули
Використовуйте 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, які залишають відповідний фрагмент.