Skip to content

Function reference

All functions available in expressions, grouped by purpose. Your project may add custom functions on top — check the expression editor's help panel for the live list.

Emptiness & text

FunctionReturnsExample
isEmpty(value)true if empty (null, "", [])isEmpty({companyCode})
notEmpty(value)true if not emptynotEmpty({email})
len(value)length of text or arraylen({items}) >= 3
startsWithAny(text, prefix)true if text starts with prefixstartsWithAny({iban}, "LT")
endsWithAny(text, suffix)true if text ends with suffixendsWithAny({code}, "99")

Collections

FunctionReturnsExample
contains(collection, value)true if array/text contains valuecontains({roles}, "admin")
includesAny(collection, value)alias of containsincludesAny({tags}, "vip")
containsAny(collection, values)true if any of the values presentcontainsAny({roles}, ["admin","editor"])
containsAll(collection, values)true if all values presentcontainsAll({perms}, ["read","write"])
inArray(value, collection)true if value is in collectioninArray({el2}, {el1})

Numbers

FunctionReturnsExample
toNumber(value)value as number (invalid → 0)toNumber({price}) > 10
inRange(value, min, max)true if min ≤ value ≤ maxinRange({age}, 18, 65)

Array aggregation

For dynamic panel / dynamic table values (arrays of objects). selector is the field name inside each entry.

FunctionReturnsExample
sumInArray(source, selector)sumsumInArray({orderLines}, "amount")
avgInArray(source, selector)averageavgInArray({grades}, "score")
minInArray(source, selector)minimumminInArray({offers}, "price")
maxInArray(source, selector)maximummaxInArray({offers}, "price")
countInArray(source, selector)countcountInArray({employees}, "id")
firstInArray(source, selector)first valuefirstInArray({history}, "status")
lastInArray(source, selector)last valuelastInArray({history}, "status")
joinInArray(source, selector, separator)joined textjoinInArray({tags}, "name", ", ")
collectValuesFrom(source, selector, unique)array of valuescollectValuesFrom({orders}, "id", true)

Dates

FunctionReturnsExample
today()today, YYYY-MM-DDDefault value: =today()
now()current date-time (ISO)timestamp fields
date(value, mode)normalised date (iso, datetime, timestamp)date({created}, "iso")
day(value) / month(value) / year(value)date partsyear({birthDate}) < 2000
weekDay(value, locale, style)weekday nameweekDay({date}, "en", "long")
weekDayIndex(value)Monday=1 … Sunday=7weekDayIndex({date}) <= 5
isWeekend(value)true on Sat/SunvisibleIf: isWeekend({deliveryDate})
addDays(value, days)date + n daysaddDays(today(), 14)
dateDiffDays(from, to)day differencedateDiffDays({start}, {end}) >= 1
startOfWeek(value) / endOfWeek(value)week boundariesreport period defaults

Data & element control

Advanced — these reach outside the current field:

FunctionDoesExample
getVal(path)reads any value by data pathgetVal("addresses[0].city")
setElementProperty(name, key, value)sets another element's propertysetElementProperty("step2", "disabled", true)
runDataSource(name)reloads a data source, returns its resultrunDataSource("loadUsers")
reloadDataSource(name)alias of runDataSource

Debugging

FunctionDoesExample
dbg(value, label?)logs to console, returns the valuedbg({el2.selectedStep}, "step")
clog(value, label?)alias of dbgclog({price}, "price")