Functions
The following is an index of all functions available from the Rules Builder.
This does not include any functions installed with any plugin.
All functions are listed by clicking the Functions button from the command bar of the Rules Builder.
Function category headers are collapsible. Double click the category header or use the arrow on the right hand side to collapse or expand the contents of the category.
Right click in the function area to expand or collapse all the category headers.
Show Function Categories
Check this option to view functions alphabetically by category.
If the name of the function is known you may prefer to leave this option unchecked.
Function List
Expand each category below to show all available Functions.
Conversion FunctionsBase64Encode - Base64 encodes a given string.
ColorHexToNumbers - Converts a hexadecimal color value to a pipe delimited value containing all RGB values as numbers.
HtmlDecode - Converts a string that has been HTML-encoded for HTTP transmission into a decoded string.
HtmlEncode - HTML encodes given string.
UrlDecode - Converts a string that has been encoded for transmission in a URL into a decoded string.
UrlEncode - URL encodes a given string.
Cryptography FunctionsHashHMACSHA1 - Hashes a value using HMAC-SHA1 and retums it as a Base64 encoded string.
HashHMACSHA256 - Hashes a value using HMAC-SHA256 and retums it as a Base64 encoded string.
HashMD5 - Computes the MD5 hash of the specified value and retums it in hexadecimal.
HashSHA1 - Computes the SHA1 hash of the specified value and retums it in hexadecimal.
HashSHA256 - Computes the SHA256 hash of the specified value and retums it in hexadecimal.
Date and Time FunctionsDate - Returns the current date.
DateTime - Converts a value into a date time representation. Changes from text values using standard US English formatting.
DateTimeLocal - Converts a value into a date time representation. Changes from text values using standard current culture formatting.
DateTimeSpan - Returns a table of information representing the time interval between two Date Time values. Calculated using the current culture.
DateValue - Converts the given date to a serial number value.
Day - Returns the current day of the month.
Hour - Returns the hour from the given date/time or date/time serial number.
Minute - Returns the minute from the given date/time or date/time serial number.
Month - Returns the current month.
NetWorkDays - Returns the number of work days between two dates.
NetWorkDaysCustom - Returns the number of work days between two dates.
Now - Returns the current date and time.
NowUTC - Returns the current date and time expressed as UTC.
Second - Returns the second from the given date/time or date/time serial number.
TimeValue - Converts the given time to a serial number value.
Today - Returns the current date.
UnixEpoch - Gets the time in seconds since the start of UTC. the beginning of 00:00:00 UTC Thursday, 1 January 1970.
Weekday - Returns the day of the week as a number. Sunday being day 1.
WeekNum - Gets the week of a given date as a number ISO 8601.
WorkDay - Returns the date before or after a specified number of work days.
WorkDayCustom - Returns the date before or after a specified number of work days.
Year - Returns the current year.
File System FunctionsFsChangeExtension - Changes the file extension of a given path, adding it if one is not already present.
FsDirectoryExists - Returns TRUE if the specified directory location exists. FALSE is returned f it does not. An error string is returned if there are any problems checking for existence.
FsFileExists - Returns TRUE if the specified file location exists. FALSE is returned if it does not. An error string is returned if there are any problems checking for existence.
FsGetDirectories - Returns a table of directory information for the selected directory.
FsGetDirectoryName - Gets the directory name from a file path.
FsGetExtension - Gets the extension from a file path.
FsGetFileName - Gets the file name from a file path.
FsGetFiles - Returns a table of file information for the selected directory.
FsGetFullPath - Resolves a file path relative to either the project directory or the specification directory, depending on the prefix used in the file path. During a specification, it will default to the specification directory. Otherwise the project directory will be used.
FsGetFullPathProject - Resolves a file path relative to the original project directory. Also supports prefixes specified in the FsGetFullPath function.
FsGetFullPathSpecification - Resolves a file path relative to the specification directory. Also supports prefixes specified in the FsGetFullPath function.
FsPathCombine - Combines two paths.
Helper FunctionsBorderRadius - Converts the given values into a Border Radius property value with the default unit.
Color - Constructs a pipe separated RGB color format using specified red, green and blue values.
ColorHex - Constructs a color value suitable for use with DriveWorks Forms.
DimensionText - Sets the specified text, in their respective positions on a drawing dimension captured as annotation text.
DimensionTextAll - Sets the specified text to be displayed in all positions on a drawing dimension captured as annotation.
EmailGetDomainName - Gets the domain name portion of an email address.
EmailGetUserName - Gets the user name portion of an email address.
GetApplicationName - Gets the name of the Application.
GetNumericSuffix - Gets the numeric suffix from a piece of text, eg. MyVanable10.
MyName - Gets the name assigned to the owner of the rule, this works for rules attached to items that have names such as variables and some om control properties.
MyNumber - Gets the specified number from within the owners name.
TextBuilder - Joins each entered string together with a space.
Lambda FunctionsDWLambda - Anonymous function definition - can left as a Lambda function or immediately invoked by passing arguments in brackets after.
List FunctionsList - Returns a list of the entered strings.
ListCountItems - Counts the number of the items in a list.
ListFindItem - Finds the index of an item in a list.
ListGetCommon - Compares two pipe delimited lists using a case sensitive comparison and retums the common items.
ListGetItem - Gets the specified item from a list of items.
ListGetItems - Gets the specified items from a list of items.
ListGetUnique - Compares two pipe delimited lists using a case sensitive comparison and retums the items that appear in List 1 but not in List 2.
ListJoin - Combines two or more values or lists together into a single list.
ListMaxValue - Gets the maximum value in a given list.
ListRemoveDuplicates - Removes duplicates from a list using case sensitive comparison.
ListRemoveEmpty - Removes empty values in the given list.
ListRemoveIndex - Removes the item at the specified index in a pipe delimited list.
ListRemoveItem - Removes all matching items from a pipe delimited list using a case sensitive comparison.
ListReplaceIndex - Replaces the item at the specified index in a pipe delimited list.
ListReplaceItem - Replaces all matching items in a pipe delimited list using a case sensitive comparison.
ListReverse - Reverses the order of a given list.
ListSort - Perform a sort on the list.
ListSum - Calculates the sum of the numbers in the specified list.
Logical FunctionsAnd - Evaluates the given arguments and retums TRUE if all are true and FALSE if any are false.
Boolean - Converts a value into a Boolean from text values using US English spelling.
ChooseFrom - Selects a value based on a match found. in an input, within a string of arguments.
If - The IF function retums one value if a condition you specify evaluates to TRUE, and another value if that condition evaluates to FALSE.
IfCondition - Returns the first parameter if it satisfies the Condition. Otherwise the Default value is returned.
Not - Returns the opposite of the given boolean value.
Or - Evaluates the given arguments and returns TRUE if any are true and FALSE if all are false.
Math FunctionsAbs - Returns the absolute value of a number, e.g. -3 is converted to 3.
ACos - Returns an angle in radians, corresponding to the given cosine value.
ACosD - Returns an angle in degrees, corresponding to the given cosine value.
ACosH - Returns an angle in radians, corresponding to the given hyperbolic cosine value.
AngleAbs - Returns the absolute value of an angle in radians.
AngleAbsD - Returns the absolute value of an angle in degrees.
ASin - Returns an angle in radians, corresponding to the given sine value.
ASinD - Returns an angle in degrees, corresponding to the given sine value.
ASinH - Returns an angle in radians, corresponding to the given hyperbolic sine value.
ATan - Returns an angle in radians, corresponding to the given tangent value.
ATan2 - Returns the angle in radians, whose tangent is quotient of the two numbers.
ATanD - Returns an angle in degrees, corresponding to the given tangent value.
ATanH - Returns an angle in radians, to the given hyperbolic tangent value.
Ceiling - Rounds a number up to the nearest multiple of significance.
Choose - Selects a value from a list of arguments.
Cos - Returns the cosine of the specified angle measured in radians.
CosD - Returns the cosine of an angle measured in degrees.
CosH - Returns the hyperbolic cosine of an angle measured in radians.
Degrees - Converts the given angle from radians to degrees.
Even - Rounds a positive number up and a negative number down to the nearest even integer.
Exp - Returns e raised to the power of a number. The e equals 2.71828182845904, the base of the natural logarithm.
Fact - Returns the factorial of a number.
FactDouble - Returns the double factorial of a number.
Floor - Rounds a number down to the nearest multiple of significance.
Int - Rounds a number down to the nearest integer.
IsEven - Returns true if the number is even.
IsOdd - Returns true if the number is odd.
Ln - Returns the natural logarithm of a number.
Log - Returns the logarithm of a number to a base.
Log10 - Returns the base-10 logarithm of a number.
Max - Returns the greater of the specified numbers.
Min - Returns the smaller of the specified numbers.
Mod - Returns the remainder after division.
MRound - Returns a number rounded to the desired multiple.
Odd - Rounds a positive number up and a negative number down to the nearest odd integer.
Pi - Returns the value of Pi, accurate to 15 decimal places.
Power - Returns the result of a number raised to a power.
Product - Multiplies its arguments together.
Quotient - Returns the integer portion of a division.
Radians - Converts the given angle from degrees to radians.
Rand - Returns a random number between O and 1 .
RandBetween - Returns a random number between two numbers.
Round - Rounds the number up or down, to the number of decimal places.
RoundDown - Rounds the number down to the number of digits.
RoundSF - Rounds the number according to the significant figures entered.
RoundUp - Rounds the number up to the specified number of digits.
Sign - Gets the sign of a number. Returns -1 f the value is negative. O f the value is zero. or +1 f the value is positive.
Sin - Returns the sine of the angle measured in radians
SinD - Returns the sine of the angle measured in degrees
SinH - Returns the hyperbolic sine of the specified angle measured in radians.
Sqrt - Returns the square root of a number.
SqrtPi - Returns the square root of (number * Pi).
Sum - Adds its arguments together.
Tan - Returns the tangent of the specified angle measured in radians.
TanD - Returns the tangent of an angle measured in degrees.
TanH - Returns the hyperbolic tangent of the specified angle measured in radians.
Trunc - Truncates a number to an integer.
Specification FunctionsSpGetSpecificationId - Returns the Id of the named specification.
Table FunctionsCountIF - Counts all the cells in a table that comply with the specified condition.
CSVFromTable - Creates a CSV string from a table.
Dcount - Counts all the cells in a table's column, that comply with the specified condition.
DMax - Returns the largest value in the given table's column, which complies with the specified condition.
DMin - Returns the value in the given column, which complies with the specified condition.
DWHLookup - Returns a value from a table corresponding to a match found in the specified row.
DWVLookup - Returns a value from a table corresponding to a match found in the specified column.
GetTableValue - Returns the value at the specified row and column index.
HLookup - Returns a value from a table corresponding to a match found in the row.
ListAll - Lists all the values, pipe separated, in the specified column of the given table.
ListAllConditional - Lists the values that match a condition, pipe separated, in the specified column of the given table.
ListAllConditionalDistinct - Lists the unique values that match a condition, pipe separated, in the specified column of the given table.
ListAllDistinct - Lists the unique values, pipe separated, in the specified column of the given table.
SumTableColumn - Calculates the sum of the values in the specified column.
TableAppendColumns - Appends the columns from the given tables in order, and returns the result.
TableAppendRow - Appends the given row to the given table, and returns the result.
TableAppendRows - Appends the rows from the given table, in order, and returns the result.
TableAverage - Gets the average of the values in a column in the given table.
TableBreak - Breaks the table into two at or after the row matching the given condition, and returns either the top or bottom half.
TableColumn - Constructs a table containing a single column containing a blank header, followed by the given values.
TableColumnLookup - Returns a value from a column to a match found in the given lookup column.
TableCombine - Combines the rows from the given tables into a single table, reusing columns where they match.
TableDistinct - Eliminates non-distinct values in the table.
TableDistinctSum - Creates a table showing distinct values in the first column, and summed data in the second.
TableFilter - Eliminates non-matching values from the table within a specified column.
TableFilterAll - Eliminates non-matching values from the table.
TableFilterByList - Filters the table on the supplied list of values.
TableFormat - Formats text found in a column in the provided table.
TableFromCsv - Creates a table from a CSV string.
TableGetColumnCount - Gets the number of columns in a table.
TableGetColumnIndexByName - Gets the index of a column based on its name.
TableGetDataRows - Gets everything except the header row from the given table.
TableGetHeaderRow - Gets the header row from the given table as a data row.
TableGetRowCount - Gets the number of rows in a table, including the header row.
TableGetRows - Returns a new table with only the specified rows.
TableGetValue - Gets the value from the row and column of the given table.
TableJoin - Performs an inner join of the specified tables on matching columns in each of the two tables.
TableMax - Gets row containing the maximum of the values in a column in the given table.
TableMaxValue - Gets the maximum value from a column in a table.
TableMin - Gets row containing the minimum of the values in a column in the given table.
TableMinValue - Gets the minimum value from a column in a table.
TableRemoveBlankColumns - Removes any columns from the table where every cell in that column is blank.
TableRemoveBlankRows - Removes any rows from the table where every cell in that row is blank.
TableRemoveRow - Removes a row in the given table.
TableReplaceHeaderRow - Replaces the header row in the given table.
TableReplaceHeaders - Replaces the headers in the given table.
TableReplaceRow - Replaces a row in the given table.
TableReverse - Reverses the order of the rows in the given table.
TableRow - Constructs a table containing a header row, followed by a single data row containing the given values.
TableSelectColumns - Appends the columns from the given tables in order, and returns the result.
TableSequence - Generates a table with exactly one column with an empty header, followed by the specified number of rows, where the first row has the value 1, and each row after is assigned an incrementing value.
TableSkipRows - Retums a new table where the specified number of rows have been removed from the start of the given table.
TableSort - Performs a sort on the specified column of the given table.
TableSortByDate - Performs a sort on the specified column of the given table by date. The data is assumed to be in the en-US format.
TableSortByList - Performs a sort on the specified column of the given table using the provided list.
TableSubstitute - Substitutes text found in a column in the provided table.
TableSum - Gets the sum of the values in a column in the given table.
TableTakeRows - Returns a new table with only the number of rows.
TableTranspose - Transposes the given table.
TableWithSequence - Prepends the given table with a column containing sequence numbers. This is a convenient wrapper around using TableAppendColumns and TableSequence.
VLookup - Returns a value from a table corresponding to a match found in the first column.
General FunctionsTableDistinctCount - Creates a table showing distinct values in the first column, and number of occurrences in the second.
TableFromList - Creates a single column table from the pipebar delimited list, with an empty header.
TableSearch - Searches all cells within a table for a case sensitive match to the specified search text.
Text FunctionsChar - Returns the character equivalent of the specified number. using the computer's character set.
Concatenate - Joins text items into one text item.
Dollar - Formats a number as text and applies the symbol for the system currency format.
Exact - Compares two strings and returns TRUE if identical.
ExtractNumber - Gets the first number found in the specified value.
Find - Returns the starting position of a text string within another text string. FIND is case sensitive.
Fixed - Formats a number as text to a fixed number of decimal places.
Indirect - Evaluates the result of a rule provided as a string.
Left - Returns the specified number of characters from the specified part of a text string.
Len - Returns the number of characters in the given text string.
Lower - Converts all of the letters in the given text string to lowercase.
Mid - Returns the specified amount of characters from the specified part of a text string.
NewLine - Returns a character to represent a newline character within a text ding.
Number - Converts a value into a number from values using standard US English formatting.
NumberLocal - Converts a value into a number from values using standard current culture formatting.
Proper - Capitalizes the first letter in each word of the given text.
Replace - Replaces part of a text string with a new text string.
Rept - Repeats the specified item the given number of times.
Right - Returns the specified number of characters from the end of a text sting.
Search - Returns the starting position of a text string within another text string. SEARCH is not case sensitive.
String - Converts a value into a text representation. Changes to text values using standard US English formatting.
StringJoin - Joins text items into one text item with a separator between each item.
StringLocal - Converts a value into a text representation. Changes to text values using standard current culture formatting and spelling.
Substitute - Substitutes new text for old text in a text string.
Text - Formats the given value according to an Excel formatting string.
TextFormat - Formats one or more values according to the given formatting string.
Trim - Removes spaces from the start and end, and any extra spaces between words if more than one, from the given text.
TrimEnd - Removes spaces from the end of the given text.
TrimStart - Removes spaces from the start of the given text.
Upper - Converts all of the letters in the given text string to uppercase.
Value - Converts a value into a number representation. Changes to text values using US English formatting.
ValueLocal - Converts a value into a number representation. Changes to text values using current culture formatting.
Validation FunctionsIfEmpty - Checks to see if its first argument is an empty value. If the value isn't an empty value it is returned as-is, otherwise. a secondary value is returned.
IfError - Checks to see if its first argument is an error. if the value isn't an error it is returned as-is, otherwise, a secondary value is returned.
IferrorString - Checks to see if its first argument is an error string. if the value is-n an error string it is returned asks, otherwise, a replacement value is returned.
IfNonBoolean - Checks to see if its first argument is a boolean. if the value is a boolean it is returned as-is, otherwise, a secondary value is returned.
IfNonNumber - Checks to see if its first argument is a number. if the value is a number it is returned as-is, otherwise, a secondary value is returned.
IsBoolean - Returns TRUE if the given value is a boolean and FALSE if not.
IsEmpty - Returns TRUE if the given value is either an empty value, or a zero length piece of text.
IsError - Returns TRUE if any errors are found in the specified value.
IsErrorString - Returns TRUE if the specified value is an error string, otherwise FALSE.
IsMatch - Checks the string to find a match as defined by the regular expression. Returns TRUE if a match is found, FALSE if not.
IsNonBoolean - Returns TRUE if the given value is not a boolean and FALSE if it is.
IsNonNumber - Returns TRUE if the given value is not a number and FALSE if t is.
IsNonText - Returns TRUE if the given value is not text and FALSE if it is.
IsNumber - Returns TRUE if the given value is a number and FALSE if not.
IsText - Returns TRUE if the given value is text and FALSE if not.
IsValidDirectory - Checks that the result be valid for use as a folder structure. Returns TRUE if valid and FALSE if invalid.
IsValidEmailAddress - Checks that the result is a valid email address. Returns TRUE if valid and FALSE if invalid.
IsValidFileName - Checks that the result be valid for use as a file name. Returns TRUE if valid and FALSE if invalid.
IsValidFileNameResult - Checks that the value is a valid result for the name rule of a model or drawing. Returns TRUE if valid and FALSE if invalid.
IsValidPath - Checks that the result be valid for use as a folder structure and file name. Returns TRUE if valid and FALSE if invalid.
IsValidRelativePathResult - Checks that the value is a valid result for the relative path rule of a model or drawing. Returns TRUE if valid and FALSE if invalid.
Variables FunctionsVariableGetUniqueNumber - Gets a unique number for a variable which belongs to a sequence of variables.
VariableSum - Sums the variables in a category.
VariableSumMultiply - Sum the product of the variables in a category.