Background documentation Expression Editor Functions 

You can use the following functions in the Expression Editor to build expressions:

Function

Description

Return Type

Example

Error Condition

abs(value)

Returns the absolute value of the input value.

Numeric

abs(-5) returns 5

Input cannot be converted to a numerical value.

acos(value)

Returns the inverse cosine of the input value. The result is an angle between 0 and pi.

Numeric

acos(true) returns 0

Input cannot be converted to a numerical value.

append(list,value1,…)

Appends a set of values to a list and returns the new list.

List

append(emptylist,"1",2,3.333) returns a list with "1",2, and 3.333 as values in the list.

If the first parameter is not a list or if any value parameter is list or map.

asin(value)

Returns the inverse sine of the input value. The result is an angle between 0 and pi.

Numeric

asin(-1) returns -1.570796326…

Input cannot be converted to a numerical value.

atan(value)

Returns the inverse tangent of the input value. The result is an angle between 0 and pi.

Numeric

atan(-1) returns -0.78539816…

Input cannot be converted to a numerical value.

average(x1,…)

Returns the average of multiple values.

Numeric

average(3, true, 4, 0, 2, 1, 1, 1, 1, 6) returns 2

Input cannot be converted to a numerical value.

base64decode(encodedStringValue)

Decodes the input string using the Base64 decoding algorithm.

String

base64decode(“YQ==”) returns a

Input is not a Base64 string.

base64encode(stringValue)

Encodes the input string using the Base64 encoding algorithm.

String

base64encode(“a”) returns YQ==

Input cannot be converted to a string value.

booleantostring(booleanValue)

Converts the Boolean value to a string.

String

booleantostring(5) returns true

Input cannot be converted to a Boolean value.

ceiling(value)

Rounds the input value up to the next largest integer.

Numeric

ceiling(5) returns true

Input cannot be converted to a numerical value.

containskey(map, key)

Checks if a key is in the map. If the key exists in the map, it returns true.

Boolean

containskey(emptymap, "Foo") returns false

The first parameter is not a map.

containsvalue(map, value)

Checks if a value is in the map. If the value exists in the map, it returns true.

Boolean

containsvalue(emptymap, 1.234) returns false

The first parameter is not a map.

converttimezone(date, tz)

Returns the date in the given time zone.

DateTime

Assume the server is in the EST time zone:

converttimezone("2000-01-01T00:00:00", "PST") returns 1999-12-31T1:00:00.PST.

The date parameter must be a valid date and time. The tz parameter must be a valid time zone.

convertunits(value, from, to)

Converts the input value, which is in the from unit of measure, to the to unit of measure.

The from and to values are case-sensitive and must match the values in the Unit Conversions table.

This function evaluates at runtime only.

Numeric

convertunits(25.4, “mm”, “inch”) returns 1

Input cannot be converted to a numerical value.

From and to units of measure are not in the Unit Conversions table.

cos(value)

Returns the cosine of the input.

Numeric

cos(5) returns 0.283662185…

Input cannot be converted to a numerical value.

cosh(value)

Returns the hyperbolic cosine of the input.

Numeric

cosh(5) returns 74.2099485…

Input cannot be converted to a numerical value.

dateadddays(startDate, addDays)

Adds days to the startDate value.

DateTime

dateadddays("2003-07-25T04:00:00", 7) returns "2003-08-01T04:00:00"

startDate cannot be converted to a date value and the addDays value cannot be converted to an integer, rounded down.

dateaddhours(startDate, addHours)

Adds hours to the startDate value.

DateTime

dateaddhours(“2000-01-01T00:00:00”, 5) returns 2000-01-01T05:00:00

startDate cannot be converted to a date value and the addHours value cannot be converted to an integer, rounded down.

dateaddminutes(startDate, addMinutes)

Adds minutes to the startDate value.

DateTime

dateaddminutes(“2000-01-01T00:00:00”, 5) returns 2000-01-01T00:05:00

startDate cannot be converted to a date value and the addMinutes value cannot be converted to an integer, rounded down.

dateaddmonths(startDate, addMonths)

Adds months to the startDate value.

DateTime

dateaddmonths(“2000-01-01T00:00:00”, 5) returns 2000-06-01T00:00:00

startDate cannot be converted to a date value and the addMonths value cannot be converted to an integer, rounded down.

dateaddseconds(startDate, addSeconds)

Adds seconds to the startDate value.

DateTime

dateaddseconds(“2000-01-01T00:00:00”, 5) returns 2000-01-01T00:00:05

startDate cannot be converted to a date value and the addSeconds value cannot be converted to an integer, rounded down.

dateaddyears(startDate, addYears)

Adds years to the startDate value.

DateTime

dateaddyears(“2000-01-01T00:00:00”, 5) returns 2005-01-01T00:00:00

startDate cannot be converted to a date value and the addYears value cannot be converted to an integer, rounded down.

datebetween(date, startBoundryDate, endBoundryDate)

Determines whether the date value is between the startBoundaryDate and endBoundaryDate values.

If the date value is on or after the startBoundaryDate value and prior to or on the endBoundaryDate value, it returns a True value.

Boolean

datebetween(“2000-01-01T01:00:00”,“2000-01-01T00:00:00”, “2000-01-01T02:00:00”) returns true

Inputs cannot be converted to valid date values.

datecompare(date1, date2)

Returns an integer that identifies which date is older.

If date1 occurs after date2, the function returns 1. If date1 and date2 are identical, it returns 0. If date1 occurs before date2, it returns -1.

Numeric

datecompare(“2000-01-01T00:00:00”, “2000-01-01T00:00:01”) returns -1

Inputs cannot be converted to valid date values.

datediff(date1, date2)

Returns the number of milliseconds between two dates.

Numeric

datediff(“2000-01-02T01:00:00”,“2000-01-01T00:00:00”) returns -1

Inputs cannot be converted to valid date values.

datediffdays(date1, date2)

Returns the number of days between two date values.

Numeric

datediffdays(“2000-01-02T01:00:00”,“2000-01-01T00:00:00”) returns -1

Inputs cannot be converted to valid date values.

datediffhours(date1, date2)

Returns the number of hours between two date values.

Numeric

datediffhours(“2000-01-01T00:00:00”, “2000-01-01T01:00:00”) returns 1

Inputs cannot be converted to valid date values.

datediffminutes(date1, date2)

Returns the number of minutes between two date values.

Numeric

datediffminutes(“2000-01-01T00:00:00”, “2000-01-01T01:00:00”) returns 60

Inputs cannot be converted to valid date values.

dateformat(dateValue, fromFormat, toFormat)

Converts the dateValue value to a different format.

String

dateformat(“01-30-2000 05:00:00”, “MM-dd-yyyy hh:mm:ss”, “dd-MM-yyyy”) returns 30-01-2000

The dateValue input is not in the fromFormat.

datefromseconds(date)

Gets the date from the input value, which is the number of seconds since January 1 0001 00:00:00 UTC.

DateTime

datefromseconds(60) returns 0001-01-01T00:01:00

Input cannot be converted to valid numeric value.

datefromsecondsformatted( seconds, format)

Gets the date from the seconds value, which is the number of seconds since January 1 0001 00:00:00 UTC, and converts it to a string of format.

String

datefromseconds(“60”, “hh:mm”) returns 00:01

Seconds value cannot be converted to a valid numerical value, and format cannot be interpreted as a valid DateTime format.

datefromxmlformat( date, toFormat)

Converts the XML datetime value to the specified datetime format.

String

datefromxmlformat("2003-07-01T04:00:00", "MM-dd-yyyy hh:mm:ss") returns "07-01-2003 04:00:00".

Date cannot be converted to a valid DateTime string value, and toFormat cannot be interpreted as a valid DateTime format.

datetoseconds(date)

Converts the specified date value to seconds.

DateTime

datefromseconds(“0001-01-01T00:01:00”) returns 60

Input cannot be converted to valid numeric value.

datetoxmlformat(dateString, fromFormat)

Converts the dateString value to an XML format.

DateTime

datetoxmlformat(“01-30-2000 05:00:00”, “MM-dd-yyyy hh:mm:ss”) returns 2000-01-30T05:00:00

The input dateString is not in the fromFormat.

day(date)

Returns the day of the month from the date value.

Numeric

day("06-21-2003 04:00:00") returns 21

Input cannot be converted to valid DateTime value.

dayofweek(date)

Returns the day of the week from the date value. If the function returns 1, the day is Sunday; 7 is Saturday.

Numeric

dayofweek(“2000-01-02T05:30:00”) returns 1

Input cannot be converted to valid DateTime value.

dayofyear(date)

Returns the day of the year (1-365) from the date value.

Numeric

dayofyear(“2000-02-02T05:30:00”) returns 33

Input cannot be converted to valid DateTime value.

daysinmonth(date)

Returns the number of days in the month from the date value.

Numeric

daysinmonth(“2000-02-02T05:30:00”) returns 29

Input cannot be converted to valid DateTime value.

decode(encodedStringValue)

Decodes the input using the Base64 decoding algorithm.

String

decode(“YQ==”) returns a

Input is not a string value or a valid Base64 string.

difftimezone(loc, dest)

Returns the difference in offset values from loc to dest.

Numeric

Difftimezone("PST", "EST") returns -3

Parameters cannot be converted to string values and are not valid time zones.

dstoffset(tz)

Returns the daylight savings offset, relative to the standard offset, for a time zone.

Numeric

Dstoffset("EST") returns -1.

The tz parameter must be a valid time zone.

encode(stringValue)

Encodes the input using the Base64 encoding algorithm.

String

encode(“a”) returns YQ==

Input cannot be converted to a valid string value.

exp(value)

Returns a string specifying value (the base of natural logarithms) raised to a power.

This function complements the action of the log function and is referred to as the antilogarithm.

Numeric

exp(5) returns 148.41315910…

Input cannot be converted to a valid numerical value.

find(list, value)

Returns the index of the first occurrence of the value, or if the value is not found, it returns -1.

Numeric

find(emptylist,"Foo") returns -1

The first parameter is not a list.

first(list)

Returns the first element in the list.

Any noncollection type

If 1 is the first value in the Transaction.List property, first(Transaction.List) returns 1

The parameter is not a list or the list does not contain elements.

floor(value)

Rounds the value to the next smallest integer.

Numeric

floor(5.99) returns 5

Input cannot be converted to a valid numerical value.

format(value, format)

Returns the value in the string format.

See Valid Format Characters.

String

format(1, "0.000") returns 1.000

The value must be a valid number, and the format must be a valid format string.

formatdatenow(toFormat)

Formats the current time into the input format.

String

If the server is in the Eastern Standard time zone, formatdatenow(“zzz”) returns EST

Format is not valid.

getconversionfactor( fromUnit, toUnit)

Returns the value used to convert a unit of measure to another unit of measure.

The fromUnit and toUnit values are case-sensitive and must match the values in the Unit Conversions table.

This function evaluates at runtime only.

Numeric

getconversionfactor(“m”, “mm”) returns 1000

The fromUnit and toUnit values are not in the Unit Conversions table.

getlistfromxpath(xmlDoc, xpath)

Returns all XPath nodes from the document in a list.

List

getlistfromxpath(Transaction.Document, "//item") returns a list with all <item> elements in the Transaction.Document property.

The first parameter is not a document or the XPath statement is malformed.

getmapfromxpath(xmlDoc, xpath, overwrite)

Returns all XPath nodes from the document in a map. If overwrite is set to true, the latest node without a unique name is used. If overwrite is set to false, the first value is stored.

Map

getmapfromxpath(Transaction.Document, "//item*", false) returns a map with all <item> elements children elements in the Transaction.Document property, with the name of the child nodes as the key and only the first unique key is stored.

The first parameter is not a document or the XPath statement is malformed.

getoffset(tz, indst)

Returns the offset for a time zone from GMT. If daylight savings should be included in the calculations, set the indst parameter to true.

Numeric

getoffset("EST", false) returns -5.

The tz parameter must be a valid time zone. The indst parameter must be convertible to a Boolean value.

getvalue(name)

Returns the value of a property by value name.

Any

getvalue("Transaction.Value") returns the Transaction.Value property value.

The name does not exist in the properties.

hour(date)

Returns the hour of the specified date value.

Numeric

hour(“2000-01-02T05:30:00”) returns 5

The input cannot be converted to a valid DateTime value.

if(condition, onTrue, onFalse)

If the condition value is True, the function returns onTrue. If condition is False, it returns onFalse.

Numeric

if(true, 1, 2) returns 1

The input condition cannot be converted to a valid Boolean value.

indst(date)

Returns true if the input date is during daylight savings.

Boolean

indst("2000-01-01T00:00:00") returns false.

The date parameter must be a valid time.

insert(list, location, value)

Returns a new list with the input list parameter updated to have the value inserted in the specified location.

List

insert(emptylist, 0, "Foo") returns a list with the value "Foo" in location 0.

The first parameter is not a list or the location is not valid.

keys(map)

Returns a list of all key values in the map.

List

keys(Transaction.Map) returns the list of all keys in the Transaction.Map property.

The parameter is not a map.

last(list)

Returns the last element in the list.

Any noncollection type

If the Transaction.List property has 1 as its last value, last(Transction.List) returns 1.

The parameter is not a list or the list does not contain elements.

list(value1,…)

Returns a list from the parameters. Valid parameters are of any primitive type and list. In the case of a list, the entries from the parameter are appended to the resulting list.

List

list(1,2,3,"4") returns a list of integers 1,2,3 and the string 4

The input parameters are collections (lists or maps).

liststomap(namelist, valuelist)

Returns a map with each name in the namelist and each value in the valuelist list matched as name-value pairs.

Map

liststomap(Transaction.NamesList, Transaction.ValuesList) returns a map with the Transaction.NamesList items as the map keys and the Transaction.ValuesList as the values in the map.

The parameters are not lists, the parameters are not the same size, or the lists are empty.

ln(value)

Returns the natural logarithm of the value.

Numeric

ln(5) returns 1.609437912…

The input value cannot be converted to a valid numerical value.

localformat(value, format)

Converts value to a string using the specified format.

String

localformat(5, “0.0”) returns 5.0

The input value cannot be converted to a valid numerical value or format is not a valid format string.

localize(key)

Returns the localized text for the input key. If no localized text exists, the system returns the input key.

String

You defined the following localized values:

  For English, STREET_TEXT = street

  For German, STREET_TEXT = straße

You enter localize("STREET_TEXT"). Your locale is German, so the system returns straße.

If a localized value is not defined for a locale, the key (in this example, STREET_TEXT) is returned.

localnumber(value)

Converts the specified string to a numerical value using the local server's regional settings.

Numeric

localnumber(5) returns 5.0

The input cannot be converted to a valid numerical value.

log(value)

Returns the Base10 logarithm of the specified value.

Numeric

log(5) returns 0.6989700043…

The input cannot be converted to a valid numerical value.

logn(value, base)

Returns the log base of the value.

Numeric

logn(5, 3) returns 1.4649735…

The inputs cannot be converted to valid numerical values.

map(name1,value1,…)

Returns a map from the input parameters. The parameters can be a map or two parameter sets, where the first parameter is a name and the second is a value.

Map

map("one",1,"two",2) returns a map with two elements, where the first element is named one with a value of 1 and the second element is named two with a value of 2

The input parameters are collections (lists or maps).

match( stringValue, matchString)

Indicates whether a match is found in the specified string. The function uses the regular expression specified in the matchString and is not case-sensitive.

Boolean

match(“Foo”, “Foo”) returns true

The input stringValue cannot be converted to a valid string value or the matchString cannot be converted to a valid regular expression string value.

match2( stringValue, matchString, isCaseSensitive)

Indicates whether a match is found in the specified string. The function uses the regular expression specified in the matchString and is case-sensitive.

Boolean

Match2(“Foo”, “foo”) returns false

The input stringValue cannot be converted to a valid string value or the matchString cannot be converted to a valid regular expression string value.

max(x1,…)

Returns the largest of the input values.

Numeric

max(3, true, 4, 0, 2, 1, 1, 1, 1, 6) returns 6

The inputs cannot be converted to numerical values.

min(x1,…)

Returns the smallest of input values.

Numeric

max(3, true, 4, 0, 2, 1, 1, 1, 1, 6) returns 0

The inputs cannot be converted to numerical values.

minute(date)

Returns the minute value from the specified date value.

Numeric

minute(“2000-01-02T05:30:00”) returns 30

The input cannot be converted to a valid DateTime value.

month(date)

Returns the month from the specified date value.

Numeric

month(“2000-01-02T05:30:00”) returns 1

The input cannot be converted to a valid DateTime value.

monthend(date)

Returns the date for the first day of the next month.

DateTime

monthend(“2000-01-02T05:30:00”) returns 2000-02-01T00:00:00

The input cannot be converted to a valid DateTime value.

monthstart(date)

Returns the date for the first day of the month.

DateTime

monthstart(“2000-01-02T05:30:00”) returns 2000-01-01T00:00:00

The input cannot be converted to a valid DateTime value.

not(value)

Returns the logical negation of the Boolean value. If the Boolean value is 1 (True), the function returns 0 (False). If the Boolean value is 0, it returns 1.

Any

not(true) returns 0

The input cannot be converted to a valid Boolean value.

number(stringValue)

Converts the specified string to a numerical value.

Numeric

number(5) returns 5.0

The input cannot be converted to a valid numerical value.

put(map, name, value)

Returns a new map with the input map parameter updated with the value set to the specific key.

Map

put(Transaction.Map, “Foo”, 99) returns the Transaction.Map map with the item “Foo” set to 99.

The first parameter is not a map.

random(lowValue, highValue)

Returns a random number in the specified range. You must enter positive lowValue and highValue values.

Numeric

random(2,30)returns 9.1713713739

The inputs cannot be converted to valid numerical values.

randomflag(percentProbability)

Returns a random value based on the specified percentage.

Values less than or equal to zero return False, and values greater than 100 return True.

Boolean

If you enter 100 as the pct value, the function returns 1 100% of the time. If you enter 50 as the pct value, it returns 1 50% of the time.

The percentProbability input cannot be converted to a valid numerical value.

remove(collection, value)

Returns a new collection with the value parameter removed. If the collection is a list, the value is an index. If the collection is a map, the value is a key.

Map or list

remove(Transaction.List, 2) returns the Transaction.List list without the value of index 2.

The first parameter is not a collection or the value is not valid for the collection.

round(value)

Rounds the input value to the nearest integer.

Numeric

round(5.99) returns 6

The input value cannot be converted to a valid numerical value.

scaledmax(dataSetMin, dataSetMax)

Returns a round value for the maximum value.

Numeric

scaledmax(0.2, 9.6) returns 10.

The input values cannot be converted to valid numerical values.

scaledmin(dataSetMin, dataSetMax)

Returns a round value for the minimum value.

Numeric

scaledmin(0.2, 9.6) returns 0.

The input values cannot be converted to valid numerical values.

scaledvalue( value, currentMinimum, currentMaximum, newMinimum, newMaximum)

Returns the value, which was originally scaled based on the currentMinimum and currentMaximum values, scaled based on the range from newMinimum to newMaximum.

You can use this function for animation.

Numeric

scaledvalue(5, 0, 10, 0, 100) returns 50.

The input values cannot be converted to valid numerical values.

second(date)

Returns the seconds from the specified date value.

Numeric

second(“2000-01-02T05:30:00”) returns 0.

The input value cannot be converted to a valid DateTime value.

set(list, index, value)

Returns a new list with the input list parameter updated with the value set in the specified location.

List

set(Transaction.List, 5, “Foo”) returns the Transaction.List list with the value “foo” in location 5.

The first parameter is not a list or the location is not valid.

sin(value)

Returns the sine of the specified value.

Numeric

sin(5) returns -0.9589242746…

The input value cannot be converted to a valid numerical value.

sinh(value)

Returns the hyperbolic sine of the value.

Numeric

sinh(5) returns 74.203210577…

The input value cannot be converted to a valid numerical value.

size(collection)

Returns the size of the collection.

Numeric

size(Transaction.Map) returns the number of items in the Transaction.Map collection

The parameter is not a collection.

sort(list)

Returns the list sorted.

List

sort(Transaction.UnsortedList) returns the Transaction.UnsortedList list with the values sorted.

The parameter is not a list.

sqrt(value)

Returns the square root of the specified value. You must enter a value that is greater than or equal to zero.

Numeric

sqrt(5) returns 2.2360679774…

The input value cannot be converted to a valid numerical value.

stringif(condition, onTrue, onFalse)

If the condition value is True, the function returns onTrue. If the condition value is False, it returns onFalse.

String

stringif(true, 1, 2) returns 1.

The input value cannot be converted to a valid Boolean value.

stringindexof(stringValue, searchString)

Finds the pattern in the string and returns its starting index.

Numeric

stringindexof("football", "ball") returns 4.

The inputs cannot be converted to valid string values or the searchString substring is not found in the stringValue string.

stringleft(stringValue, newStringLength)

Returns a substring of the specified string, which represents the number of characters (newStringLength) from the left of the specified string.

String

stringleft("football", 3) returns foo.

The input string cannot be converted to a valid string value or the newStringLength cannot be converted to a valid positive numerical value.

stringlength(stringValue)

Returns the length of the string.

Numeric

stringlength("football") returns 8.

The input cannot be converted to a valid string value.

stringlower(stringValue)

Returns a lowercase version of the string.

String

stringlower("FOOTBALL") returns football.

The input cannot be converted to a valid string value.

stringpart(stringValue, startIndex, length)

Returns the substring of length length from stringValue, starting after the startIndex character.

String

stringpart("Football", 3, 2) returns tb.

The input stringValue cannot be converted to a valid string value or the parameters startIndex and length cannot be converted to valid positive numerical values.

stringreplace(stringValue, searchString, replacement)

Tests the string value against the searchString. If the string matches, the function replaces the pattern with the replacement string.

String

stringreplace("Football", o, u) returns fuutball.

The input parameters cannot be converted to valid string values.

stringright(stringValue , length)

Returns a substring of the string, which represents the number of characters (length) from the right of the string.

String

stringleft("football", 3) returns all.

The input string cannot be converted to a valid string value or the length cannot be converted to a valid positive numerical value.

stringtoboolean(stringValue)

Converts a string value to a Boolean value.

Boolean

stringtoboolean("1") returns true.

The input string cannot be converted to a valid Boolean string value.

stringtrim(stringValue)

Removes white space from both sides of the string.

String

stringtrim("  football  ") returns football.

The input cannot be converted to a valid string value.

stringupper(stringValue)

Returns the string in all capital letters.

String

stringupper("Football") returns FOOTBALL.

The input cannot be converted to a valid string value.

tan(value)

Returns the tangent of the input.

Numeric

tan(5) returns -3.3805150062…

The input cannot be converted to a valid numerical value.

tanh(value)

Returns the hyperbolic tangent of the input.

Numeric

tanh(5) returns 0.9999092042…

The input cannot be converted to a valid numerical value.

tempfile(extension)

Returns a unique file name with an extension.

String

tempfile(5) returns <guid>.5.

The input cannot be converted to a valid numerical value.

values(value)

Returns a list of all values in the map.

List

values(Transaction.Map) returns a list of all values in the Transaction.Map property.

The parameter is not a map.

xmldecode(encodedStringValue)

Decodes the input string as if it was an XML-encoded string.

String

xmldecode("a &amp; b") returns a & b.

The input is not a string value.

xmlencode(stringValue)

Encodes the input string to comply with XML standards. The function converts the following characters to their XML equivalents:

  < to &lt;

  > to &gt;

  & to &amp;

  ' to &apos;

  " to &quot;

String

xmlencode(If A > B then...) returns If A &gt; B then...

The input string cannot be converted to a valid string value.

xmlencodename(value)

Encodes the input string as the XML node name.

String

encode(35) returns _5.

The input string cannot be converted to a valid string value.

year(date)

Returns the year from the date value.

Numeric

year(“2000-01-02T05:30:00”) returns 2000.

The input cannot be converted to a valid DateTime value.

yearend(date)

Returns the date of the first day of the first month of the year after the year specified in the date value.

DateTime

yearend(“2000-01-02T05:30:00”) returns 2001-01-01T00:00:00.

The input cannot be converted to a valid DateTime value.

yearstart(date)

Returns the date of the first day of the first month of the year specified in the date value.

DateTime

yearstart(“2000-01-02T05:30:00”) returns 2000-01-01T00:00:00.

The input cannot be converted to a valid DateTime value.

See also:

Expression Editor Operators

Expression Editor Keywords

Was this page helpful to you?