Skip to main content

Workflow Functions Reference

These function types are available for transforming your data in Designer Cloud. The type of data determines the functions you can use.

Visit Supported Data Types for more information.

Use this guide to quickly reference functions that you can use in the Expression Editor in Designer Cloud. If you need more information and examples, visit the category-specific pages linked in each section.

Note

Not all functions are supported between Standard mode and Cloud Native mode tools. For a list of supported functions, go to the respective Standard mode and Could Native mode function lists found on the Formula tool page.

Conditional

Conditional functions let you perform an action or calculation using an IF statement. For parameters and examples, visit the Workflow Conditional Functions article.

IF condition THEN t ELSE f ENDIF

IF c THEN t ELSE f ENDIF: Returns t if the condition c is true, else returns f.

IF c THEN t1 ELSEIF c2 THEN t2 ELSE f ENDIF

IF c THEN t1 ELSEIF c2 THEN t2 ELSE f ENDIFIF c THEN t ELSE f ENDIF: Returns t1 if c is true, else returns t2 if condition c2 is true, else returns f.

IIF

IIF(bool, x, y): Returns x if bool is true, else returns y.

Switch

Switch(Value,Default,Case1,Result1,...,CaseN,ResultN): Compares a value against a list of cases and returns the corresponding result.

Conversion

Conversion functions convert numbers to strings or strings to numbers. For parameters and examples, visit the Workflow Conversion Functions article.

BinToInt

BinToInt(s): Converts the binary string s to an integer (Limited to 53 bits).

CharFromInt

CharFromInt(x): Returns the Unicode® character that matches the input number x.

CharToInt

CharToInt(s): Returns the number that matches the input Unicode® character s.

ConvertFromCodePage

ConvertFromCodePage(s, codePage): Translates text from a code page to Unicode. To learn more about code pages, go to the Code Pages documentation.

ConvertToCodePage

ConvertToCodePage(s, codePage): Translates text from Unicode encoding to a specific code page. To learn more about code pages, visit the Code Pages documentation.

HexToNumber

HexToNumber(x): Converts a HEX string to a number (Limited to 53 bits).

IntToBin

IntToBin(x): Converts x to a binary string.

IntToHex

IntToHex(x): Converts x to a hexadecimal string.

ToDegrees

ToDegrees(x): Converts a numeric radian value (x) to degrees via the (x)rad × 180/π calculation. Please note that x must be a numeric value and can’t include any radian symbol (rad).

ToNumber

ToNumber(x, [bIgnoreErrors], [keepNulls], [decimalSeparator]): Converts a string (x), to a number.

ToRadians

ToRadians(x): Converts a numeric degree value (x) to radians via the (x)° × π/180 calculation. Please note that x must be a numeric value and can’t include the degree symbol (°).

ToString

ToString(x, numDec, [addThousandsSeparator], [decimalSeparator]): Converts a numeric parameter (x) to a string using numDec decimal places. Default selection uses a period as the decimal separator.

UnicodeNormalize

UnicodeNormalize(String, Form): Converts text data in the provided string into a standardized Unicode form. Use the required Form parameter (case-insensitive) to define the normalization form. You must manually enter one of the below normalization form options (this parameter can't be populated via an upstream field.

DateTime

DateTime functions let you perform an action or calculation on a date and time value. For parameters and examples, visit the DateTime Functions article.

DateTimeAdd

DateTimeAdd(dt,i,u): Adds a specific interval to a date-time value.

DateTimeDay

DateTimeDay(dt): Returns the numeric value for the day of the month in a date-time value.

DateTimeDiff

DateTimeDiff(dt1,dt2,u): Subtracts the second argument from the first and returns it as an integer difference. The duration is returned as a number, not a string, in the specified time units.

DateTimeFirstOfMonth

DateTimeFirstOfMonth(): Returns the first day of the month, at midnight.

DateTimeFormat

DateTimeFormat(dt, f): Converts date-time data df to another specified format f.

DateTimeHour

DateTimeHour(dt): Returns the hour portion of the time in a date-time value.

DateTimeLastOfMonth

DateTimeLastOfMonth(): Returns the last day of the current month, with the clock set to one second before the end of the day (23:59:59).

DateTimeMinutes

DateTimeMinutes(dt): Returns the minutes portion of the time in a date-time value.

DateTimeMonth

DateTimeMonth(dt): Returns the numeric value for the month in a date-time value.

DateTimeNow

DateTimeNow(): Returns the current system date and time.

DateTimeParse

DateTimeParse(dt, f): Converts a date string with the specified format and language to the standard ISO format (yyyy-mm-dd HH:MM:SS).

DateTimeQuarter

DateTimeQuarter(dt,[Q1Start]): Returns the numeric value for the quarter of the year in which a date-time (YYYY-MM-DD) value falls. Use the optional numeric parameter to indicate the start month for the first quarter (Q1).

DateTimeSeconds

DateTimeSeconds(dt): Returns the seconds portion of the time in a date-time value.

DateTimeToday

DateTimeToday(): Returns today’s date.

DateTimeTrim

DateTimeTrim(dt, f): Removes unwanted portions of a date-time value and returns the modified date-time value.

DateTimeYear

DateTimeYear(dt): Returns the numeric value for the year in a date-time value.

ToDate

ToDate(x): Converts a string, number, or date-time to a date.

ToDateTime

DateTimeTrim(ToDateTime(x), t): Converts a string, number, or date value to a date-time.

Finance

A finance function applies financial algorithms or mathematical calculations. Learn more in the Workflow Finance Functions article.

FinanceCAGR

FinanceCAGR(BeginningValue, EndingValue, NumYears): Calculates Compound Annual Growth Rate: The geometric mean growth rate on an annualized basis.

FinanceEffectiveRate

FinanceEffectiveRate(NominalRate, PaymentsPerYear): Calculates Effective Annual Interest Rate: The interest rate on a loan or financial product restated from the nominal interest rate as an interest rate with an annual compound interest payable in arrears.

FinanceFV

FinanceFV(Rate, NumPayments, PaymentAmount, PresentValue, PayAtPeriodBegin): Calculates Future Value of an Investment: The value of an asset at a specified time in the future assuming a certain interest rate or rate of return.

FinanceFVSchedule

FinanceFVSchedule(Principle, Year1Rate, Year2Rate): Calculates Future Value Schedule: The future value of an initial principal after applying a series of interest rates to an investment.

FinanceIRR

FinanceIRR(Value1, Value2): Calculates Internal Rate of Return, which is the interest rate at which the costs of the investment lead to the benefits of the investment. This means that all gains from the investment are inherent to the time value of money and that the investment has a zero net present value at this interest rate.

FinanceMIRR

FinanceMIRR(FinanceRate, ReinvestRate, Value1, Value2): Calculates Modified Internal Rate of Return: A modification of the internal rate of return that aims to resolve some problems with the IRR. The MIRR is a financial measure of an investment's attractiveness.

FinanceMXIRR

FinanceMXIRR(FinanceRate, ReinvestRate, Value1, Date1, Value2, Date2): Calculates Modified Internal Rate of Return of an investment with dates.

FinanceNominalRate

FinanceNominalRate(EffectiveRate, PaymentsPerYear): Calculates Nominal Annual Interest Rate: An interest rate is called nominal if the frequency of compounding (such as a month) is not identical to the basic time unit (normally a year).

FinanceNPER

FinanceNPER(Rate, PaymentAmount, PresentValue, FutureValue, PayAtPeriodBegin): Calculates the Number of periods for an investment or loan.

FinanceNPV

FinanceNPV(Rate, Value1, Value2): Calculates Net Present Value of an investment: Measures the excess or shortfall of cash flows, in present value terms, once financing charges are met.

FInancePMT

FinancePMT(Rate, NumPayments, PresentValue, FutureValue, PayAtPeriodBegin): Calculates payments on a loan.

FinancePV

FinancePV(Rate, NumPayments, PaymentAmount, FutureValue, PayAtPeriodBegin): Calculates Present Value of an investment: The value on a given date of a future payment, or series of future payments, discounted to reflect the time value of money and other factors such as investment risk.

FinanceRate

FinanceRate(NumPayments, PaymentAmount, PresentValue, FutureValue, PayAtPeriodBegin): Calculates the interest rate (per period).

FinanceXIRR

FinanceXIRR(Value1, Date1, Value2, Date2): Calculates the Internal Rate of Return of an investment with dates.

FinanceXNPV

FinanceXNPV(Rate, Value1, Date1, Value2, Date2): Calculates the Net Present Value of an investment with dates.

Math

A math function performs mathematical calculations. For parameters and examples, visit the Workflow Math Functions article.

ABS

ABS(x): Returns the absolute value of x. It is the distance between 0 and a number. The value is always positive.

ACOS

ACOS(x): Returns the arccosine, or inverse cosine, of a number (x). The arccosine is the angle whose cosine is (x).

ASIN

ASIN(x): Returns the arcsine, or inverse sine, of a number (x). The arcsine is the angle whose sine is (x).

ATAN

ATAN(x): Returns the arctangent, or inverse tangent, of a number (x). The arctangent is the angle whose tangent is (x). The returned angle is given in radians in the range -pi/2 to pi/2.

ATAN2

ATAN2(y, x): Returns the arctangent, or inverse tangent, of y and x (Arc - Tangent of (y/x)).

Average

Average(n1, ...): Returns the average of a list of numbers. NULL values are treated as 0 and taken into consideration in the calculation of the average value.

AverageNonNull

AverageNonNull(n1, ...): Returns the average of a list of numbers. Null values are excluded from the calculation. The calculation only works with Numeric data types.

CEIL

.CEIL(x, [mult]): Returns a numeric value (x) raised to the lowest multiple of (mult) that is greater than or equal to x. The (mult) parameter must be a number greater than 0. If (mult) is not specified, the function returns the smallest integer greater than or equal to (x).

COS

COS(x): Returns the cosine of a given angle (x). x must be in radians.

COSH

COSH(x): Returns the hyperbolic cosine of a number (x).

EXP

EXP(x): Returns e raised to the x power.

Factorial

Factorial(x): Returns the factorial of a numeric value (x) via the (n! = n x (n–1) x … x 1) calculation. For example, the factorial of 4 is calculated as such: 4! = 4 x 3 x 2 x 1 = 24.

FLOOR

FLOOR(x, [mult]): Returns a numeric value (x) lowered to the highest multiple of (mult) that is less than or equal to x. The (mult) parameter must be a number greater than 0. If (mult) is not specified, the function returns the largest integer less than or equal to (x), as shown in the first example below.

LOG

LOG(x): Returns the natural logarithm of a number (x). x should be a positive number.

LOG10

LOG10(x): Returns the base-10 logarithm of a number (x). x should be a positive number.

Median

Median(...): Calculates the median of 1 or more (possibly unsorted) values.

Mod

Mod(n,d): Modulo of a number (n) divided by a number (d) (integer operation).

PI

PI(): Returns the value of the constant PI to 15 digits of accuracy.

POW

POW(x, e): Returns a number (x) raised to the (e) power.

RAND

RAND(): Returns a random number greater than or equal to 0 and less than 1.

RandInt

RandInt(n): Returns a random integer between 0 and the specified parameter (n).

Round

Round(x, mult): Returns x rounded to the nearest multiple of the number specified in mult.

SIN

SIN(x): Returns the sine of a given angle (x). x must be in radians.

SINH

SINH(x): Returns the hyperbolic sine of a number (x).

SmartRound

SmartRound(x): Returns a number (x) rounded to the nearest multiple of a value determined dynamically based on the size of (x).

SQRT

SQRT(x): Returns the square root of a number (x).

TAN

TAN(x): Returns the tangent of a given angle (x). x must be in radians.

TANH

TANH(x): Returns the hyperbolic tangent of a number (x).

Math: Integer

An integer function operates on 1 or more bit patterns or binary numerals at the level of their individual bits.

BinaryAnd

BinaryAnd(n,m): Returns a binary of (n) and (m). The result is 1 if both n and m are 1, and 0 otherwise. If 0 is equated with False, and 1 with True, the BinaryAnd operation works like a logical And. Note the absence of the decimal point on the result values. The result is an integer, not a float value.

BinaryNot

BinaryNot(n): Returns a Binary Not of (n). Numbers are treated as 64-bit, two's complement numbers.

BinaryOr

BinaryOr(n,m): Returns a Binary Or of (n) and (m).

BinaryXOr

BinaryXOr(n,m): Returns a Binary XOr of (n) and (m).

ShiftLeft

ShiftLeft(n,b): Left shifts (n) (as integer) by (b) bits.

ShiftRight

ShiftRight(n,b): Right shifts (n) (as integer) by (b) bits.

Min/Max

A minimum or maximum function finds the smallest and largest value of a set of values. Learn more in the Min/Max Functions article.

Between

BETWEEN(x, min, max): Tests if a value (x) is between 2 other values (min and max), inclusive of min and max. Returns TRUE if x is between min and max. Returns FALSE if x is not between min and max.

Bound

Bound(x, min, max): If (x < min) returns min, else if (x > max) return max, else returns (x).

Max

Max(v0, v1,..., vn): Returns the maximum value from the list.

MaxIDX

MaxIDX(v0, v1,..., vn): Returns the 0-based index of the maximum value from the list.

Min

Min(v0, v1,..., vn): Returns the minimum value from the list.

MinIDX

MinIDX(v0, v1,..., vn): Returns the 0-based index of the minimum value from the list.

Operators

An operator is a character that represents an action. Use an arithmetic operator to perform mathematical calculations or a Boolean operator to work with true/false values. Learn more in the Workflow Operators article.

Addition

+: Addition.

Boolean AND - Keyword

AND: Combines 2 boolean values. The result is True if both of the combined values are True, False if either of them is False but not NULL, and NULL if either of them is NULL.

Boolean AND

&&: Combines 2 boolean values. The result is True if both of the combined values are True, False if either of them is False but not NULL, and NULL if either of them is NULL.

Boolean NOT - Keyword

NOT: Accepts 1 input. If that input is True, it returns False. If that input is False, it returns True. If that input is NULL, it returns NULL.

Boolean NOT

!: Accepts 1 input. If that input is True, it returns False. If that input is False, it returns True. If that input is NULL, it returns NULL.

Boolean OR - Keyword

OR: Combines 2 boolean values. The result is True if either (or both) of the two values is true. Returns NULL if any of the values is NULL.

Boolean OR

||: Combines 2 boolean values. The result is True if either (or both) of the two values is true. Returns NULL if any of the values is NULL.

Division

/: Division.

Equal To

=: Equal to.

Greater Than

>: Greater than.

Greater Than or Equal

>=: Greater than or equal.

Less Than

<: Less than.

Less Than or Equal

<=: Less than or equal.

Multiplication

*: Multiplication.

Not Equal To

!=: Not Equal To

Subtraction

-: Subtraction.

Value IN (...)

IN: Test value in list.

Value NOT IN (...)

NOT IN: Test value not in list.

Specialized

These functions perform a variety of specialized actions and can be used with all data types. For parameters and examples, visit the Workflow Specialized Functions article.

Coalesce

Coalesce(v1,v2,v3,…,vn): Returns the first non-null value.

EscapeXMLMetacharacters

EscapeXMLMetacharacters(String): Replaces XML metacharacters with their escaped versions.

GetVal

GetVal(index, v0,...vn): Returns the value (v0, ..., vn) specified by the 0-based index.

Message

Message(messageType, message, returnValue): Use with a conditional statement to output a message to the message log and update column data with a specified value when a condition is met.

NULL

NULL(): Returns a Null value.

RangeMedian

RangeMedian(...): Calculates the median from a series of aggregated ranges. Go to Range Median for more information.

Soundex

Soundex(String): Returns the Soundex of String.

Soundex_Digits

Soundex_Digits(String): Returns the first 4 digits or the Soundex if none.

TOPNIDX

TOPNIDX(N, v0, v1, ..., vn): Returns the 0-based original index position of the Nth from the maximum value upon sorting the indexed fields (v0 to vn) in descending order. Null values are ignored and N should be less than non-null parameters. With N==0, it is the same as MaxIdx(...).

UrlEncode

UrlEncode(String): Encodes a UTF-16 string using a non-standard, UTF-16-based percent-encoding.

UrLEncodeUTF8

UrlEncodeUTF8(String): Encodes a string using the RFC 3986-compliant* percent-encoding. The function converts characters into UTF8-based units and it skips characters defined in the unreserved character set. Unlike the above UrlEncode function, this function doesn't skip the common URL delimiters like "/", so it's not suitable for encoding full path URLs. You should use this function to encode specific URL components, like query component parameters.

String

A string function performs operations on text data. Use a string function to cleanse data, convert data to a different format or case, compute metrics about the data, or perform other manipulations. For parameters and examples, visit the Workflow String Functions article.

Contains

Contains(String, Target, CaseInsensitive=1): Searches for the occurrence of a particular string within a string. Returns True if (String) contains (Target), else returns False.

CountWords

CountWords(string): Returns the count of words in the specified string. Words are defined by characters separated by a space.

DecomposeUnicodeForMatch

DecomposeUnicodeForMatch(String): Removes accents and expands compound characters while converting to a narrow string. All accents and other decorations are removed.

EndsWith

EndsWith(String, Target, CaseInsensitive=1): Checks if a string ends with a particular string. Returns True if (String) ends with (Target), else returns False. It defaults to case insensitive.

FindNth

FindNth(Initial String, Target, Instance): Finds the instance (nth occurrence) of a target string in the initial string and returns the 0-indexed position of the instance. The function is case-sensitive and doesn’t accept negative parameters.

FindString

FindString(String,Target): Searches for the occurrence of a particular string (Target) within another string (String) and returns the numeric position of its occurrence in the string. Returns the 0-based index of the first occurrence of (Target) in (String). Returns -1 if no occurrence.

GetLeft

GetLeft(String, Delimiter): Returns the left part of the provided (String) until the first instance of the specified 1 or more (Delimiter).

GetPart

GetPart(String, Delimiter, Index): Uses the specified 1 or more (Delimiters) to divide (String) into substrings, and returns the substring in the position that is specified in (Index).

GetRight

GetRight(String, Delimiter): Returns the right part of the provided (String) after the first instance of the specified 1 or more (Delimiters).

GetWord

GetWord(string, n): Returns the Nth (0-based) word in the string. Words are defined as a collection of characters separated by a space. 0-based index, means the first word is at the 0 position.

Left

Left(String, len): Returns the first (len) characters of the string (String). If len is less than 0 or greater than the length of String, String remains unchanged.

Length

Length(String): Returns the length of the string (String).

LowerCase

LowerCase(String): Converts a string to lower case.

MD5_ASCII

MD5_ASCII(String): Calculates the MD5 hash of the string. The string is expected to be only narrow characters. Wide characters are converted to '?' before computing the hash. Use for String types. You should avoid using this function on strings that might contain wide characters.

MD5_UNICODE

MD5_UNICODE(String): Calculates the MD5 hash of the string stored as UTF-16.

MD5_UTF8

MD5_UTF8(String): Calculates the MD5 hash of the string stored as UTF-8.

PadLeft

PadLeft (String, len, char): Pads the string to the left with the specified character to the specified length. If the padding (char) is more than 1 character long, only the first character is used.

PadRight

PadRight (String, len, char): Pads the string to the right with the specified character to the specified length. If the padding (char) is more than 1 character long, only the first character is used.

REGEX_CountMatches

REGEX_CountMatches(String,pattern,icase): Returns the count of matches within the string to the pattern.

REGEX_Match

REGEX_Match(String,pattern,icase): Searches a string for an occurrence of a regular expression. Tells if the string matches the pattern from the first character to the end.

REGEX_Replace

REGEX_Replace(String, pattern, replace, icase): Returns the string resulting from the RegEx find pattern and replace string.

Replace

Replace(String, Target, Replacement): Returns the string (String) after replacing each occurrence of the String (Target) with the String (Replacement).

ReplaceChar

ReplaceChar(String, y, z): Returns the string (String) after replacing each occurrence of the character (y) with the character (z). If the replacement character (z) is a string with more than 1 character, only the first character is used. If (z) is empty, each character (String) that matches any character in (y) is simply removed.

ReplaceFirst

ReplaceFirst(String, Target, Replacement): Returns the string (String) after replacing the first occurrence of the string (Target) with the string (Replacement).

ReverseString

ReverseString(String): Reverses all the characters in the string.

Right

Right(String, len): Returns the last (len) characters of the string. If len is less than 0 or greater than the length of String, the string remains unchanged.

StartsWith

StartsWith(String, Target, CaseInsensitive=1): Checks if a string starts with a particular string. Returns True if String starts with a particular string Target, else returns False.

STRCSPN

STRCSPN(String, y): Returns the length of the initial segment of the string (String) consisting of charactersnotin the string (y).

StripQuotes

StripQuotes(String): Removes a matched set of quotation marks or apostrophes from the ends of the string.

Substring

Substring(String, start, length): Returns the substring of (String) starting at (start), stopping after (length), if provided.

TitleCase

TitleCase(String): Converts a string to title case.

Trim

Trim(String, y): Removes the character(s) in the string (y) from the ends of the string (String). Y is optional and defaults to trimming white space. Notice in the TRIM function examples the specified characters are trimmed. It doesn't matter what order the characters are in.

TrimLeft

TrimLeft(String, y): Removes character in the string (y) from the beginning of the string (String). Y is optional and defaults to trimming white space.

TrimRight

TrimRight(String, y): Removes character in the string (y) from the end of the string (String). Y is optional and defaults to trimming white space.

Uppercase

Uppercase(String): Converts a string to upper case.

UuidCreate

UuidCreate(): Creates a unique identifier.

Test

A test function performs data comparisons. Use a test function to identify the data type of a value, or determine if a value exists. For parameters and examples, visit the Workflow Test Functions article.

CompareDictionary

CompareDictionary(a,b): Compares 2 strings ignoring case differences, and compares text that appears to consist of numbers, in numerical order. The function returns -1 if a < b, 0 if a==b, and 1 if a > b.

CompareDigits

CompareDigits(a, b, nNumDigits): Compares 2 numbers and determines if they are the same to the given number of digits (nNumDigits).

CompareEpsilon

CompareEpsilon(a, b, epsilon): Compares 2 floating-point numbers and returns True if they are within epsilon.

EqualStrings

EqualStrings(a,b): Compares string (a) to string (b) to determine if they are an exact match. The function returns True if all characters in both a and b are identical and False if 1 or more characters are not identical.

IsEmpty

IsEmpty(v): Tests if v is NULL or equal to "".

IsInteger

IsInteger(v): Tests if (v) contains a value that can be converted to an integer. If so, it returns True.

IsLowerCase

IsLowerCase(String): Returns True if all (1 or more) alphabetic characters in a string are lowercase and False if 1 or more alphabetic characters are uppercase. The function ignores non-alphabetic characters. Note that this function only applies to characters with a case distinction and might not apply to characters in all languages.

IsNull

IsNull(v): Tests if (v) is NULL. Returns True if v is NULL, otherwise returns False.

IsNumber

IsNumber(v): Tests if the field type for (v) is a number or not.

IsString

IsString(v): Tests if the field type for (v) is a string or not.

IsUpperCase

IsUpperCase(String): Returns True if all (1 or more) alphabetic characters in a string are uppercase and False if 1 or more alphabetic characters are lowercase. The function ignores non-alphabetic characters. Note that this function only applies to characters with a case distinction and might not apply to characters in all languages.