How to read formulas

Use field("Назва") for a column and param("Назва") for a parameter from an earlier block on the current branch. Fields are evaluated in the specified order; referring to a field that has not yet been calculated causes an error. Normalize numeric text with the number-format block first.

round(number(field("Quantity")) * number(field("Price")), 2)

A formula is limited to 2,048 characters and a maximum expression complexity. Only permitted operations and functions are available; this is not an environment for executing arbitrary code.

Fields

FunctionPurposeExample
field(назва)The value of a column in the current row.field("Revenue")
param(назва)A parameter from earlier blocks on the current branch only.param("Rate")

Numbers

FunctionPurposeExample
number(значення)Converts a value to a number after the number-format block.number("12.5")
abs(число)Absolute value.abs(-12)
round(число,знаків?)Rounds halfway values away from zero; precision ranges from −15 to 15.round(12.345, 2)
min(числа*)The smallest of the supplied numbers.min(3, 8, 2)
max(числа*)The largest of the supplied numbers.max(3, 8, 2)
sum(числа*)The sum of arguments in the current row. Use grouping to sum across rows.sum(10, 20, 30)
average(числа*)The arithmetic mean of the arguments.average(10, 20)
ceil(число)Rounds toward positive infinity.ceil(-1.2)
floor(число)Rounds toward negative infinity.floor(-1.2)
trunc(число,знаків?)Truncates the fractional part without rounding.trunc(12.349, 2)
roundup(число,знаків?)Rounds away from zero.roundup(12.341, 2)
rounddown(число,знаків?)Rounds toward zero.rounddown(-12.349, 2)
sqrt(число)The square root of a nonnegative number.sqrt(144)
power(основа,степінь)Raises a base to a power (exponent from −1000 to 1000).power(2, 8)
mod(число,дільник)The remainder of division, with the divisor's sign.mod(-7, 3)
sign(число)−1 for a negative number, 0 for zero, 1 for a positive number.sign(-12)
log(число,основа?)Logarithm; the default base is 10.log(1000, 10)
exp(число)The exponential function: e raised to the supplied power.exp(1)
clamp(число,мінімум,максимум)Restricts a number to the specified interval.clamp(120, 0, 100)
percent(число,відсоток)The specified percentage of a number.percent(200, 15)
pi()The number π.pi()

Text

FunctionPurposeExample
text(значення)Converts a value to text.text(125)
concat(значення*)Joins text values.concat("Plan", "-", 2026)
upper(текст)Uppercase.upper("hello")
lower(текст)Lowercase.lower("HELLO")
title(текст)Capitalizes the first letter of each word.title("hello world")
trim(текст)Removes leading and trailing spaces.trim(" hello ")
length(текст)The number of Unicode characters.length("Київ")
left(текст,кількість)The first N characters.left("abcdef", 3)
right(текст,кількість)The last N characters.right("abcdef", 3)
mid(текст,позиція,кількість)A text fragment; the first position is 1.mid("abcdef", 2, 3)
replace(текст,старий,новий)Replaces every occurrence of a substring.replace("a-b-c", "-", "/")
find(шукати,текст,позиція?)Case-sensitive substring position; 0 if not found.find("b", "abc")
search(шукати,текст,позиція?)Case-insensitive substring position; 0 if not found.search("B", "abc")
contains(текст,частина)Whether the text contains a substring.contains("abcdef", "cd")
starts_with(текст,початок)Whether the text starts with the specified substring.starts_with("ABC", "A")
ends_with(текст,кінець)Whether the text ends with the specified substring.ends_with("ABC", "C")
clean(текст)Removes control characters.clean("A\nB")
repeat(текст,кількість)Repeats text up to a limit of 32,768 characters.repeat("0", 3)
padleft(текст,довжина,символ?)Pads on the left with a single character, a space by default.padleft("42", 5, "0")
padright(текст,довжина,символ?)Pads on the right with a single character.padright("42", 5, "0")
transliterate(текст)Deterministic transliteration of Cyrillic/Greek text and removal of Latin diacritics.transliterate("Київ")

Dates

FunctionPurposeExample
date(рік,місяць,день)Creates a valid ISO calendar date.date(2026, 9, 27)
today()The current UTC date, fixed for the entire block.today()
now()The UTC time, fixed for the entire block.now()
datevalue(текст,формат?)Parses a date; ISO by default, or a strptime format.datevalue("27.09.2026", "%d.%m.%Y")
formatdate(дата,формат)Formats a date; %Y is the year, %m the month, %d the day.formatdate("2026-09-27", "%d.%m.%Y")
year(дата)The year of a date.year("2026-09-27")
month(дата)The month of a date, from 1 to 12.month("2026-09-27")
day(дата)The day of the month.day("2026-09-27")
hour(датачас)The UTC hour, from 0 to 23.hour("2026-09-27T12:30:00Z")
minute(датачас)The minute, from 0 to 59.minute("2026-09-27T12:30:00Z")
second(датачас)The second, from 0 to 59.second("2026-09-27T12:30:05Z")
weekday(дата)ISO weekday: Monday is 1, Sunday is 7.weekday("2026-09-27")
weeknum(дата)The ISO week number.weeknum("2026-09-27")
adddays(дата,днів)Adds or subtracts calendar days.adddays("2026-09-27", 7)
addmonths(дата,місяців)Shifts a date by months; the day is capped at the end of the month.addmonths("2026-01-31", 1)
datediff(початок,кінець,одиниця?)Difference in days, months (complete months), years (complete years), hours, minutes or seconds.datediff("2026-01-01", "2026-02-01", "days")
eomonth(дата,зсув?)The last day of the current or shifted month.eomonth("2026-01-15", 1)

Conditions

FunctionPurposeExample
coalesce(значення*)The first value that is neither null nor empty.coalesce(None, "", 0, 5)
ifelse(умова,так,ні)A lazy condition: only the selected branch is evaluated.ifelse(10 > 5, "yes", "no")
iferror(вираз,заміна)Substitutes a fallback for an evaluation error; syntax errors and missing fields are not hidden.iferror(10 / 0, 0)
isblank(значення)Whether a value is null or empty text.isblank("")
isnumber(значення)Whether a value is a number rather than text or a Boolean.isnumber(12.5)
istext(значення)Whether a value is text.istext("12")
and_(умови*)All conditions are true; lazy evaluation.and_(1 > 0, 2 > 1)
or_(умови*)At least one condition is true; lazy evaluation.or_(False, True)
not_(умова)Logical negation.not_(False)

Removing text from either end

removeleft(text, count) returns text without its first N characters; removeright(text, count) removes its last N characters. The remaining text is unchanged. For example, removeleft("UA-001", 3) yields 001, and removeright("report.csv", 4) yields report. This differs from left and right, which keep the corresponding fragment.