Functions Reference
Data Shaper transformation language has at its disposal a set of functions you can use. We describe them here.
All functions can be grouped into following categories:
- Conversion Functions
- Container Functions
- Record Functions (Dynamic Field Access)
- Date Functions
- Mathematical Functions
- String Functions
- Mapping Functions
- Miscellaneous Functions
- Lookup Table Functions
- Sequence Functions
- Data Service HTTP Library Functions
- Custom CTL Functions
Remember that with CTL2 you can use both Data Shaper built-in functions and your own functions in one of the ways listed below.
Built-in functions
substring(upperCase(getAplhanumericChars($in.0.field1))1,3)
$in.0.field1.getAlphanumericChars().upperCase().substring(1,3)
The two expressions above are equivalent. The second option with the first argument preceding the function itself is sometimes referred to as object notation. Do not forget to use the$port.field.function()
syntax. Thus,arg.substring(1,3)
is equal tosubstring(arg,1,3)
.
You can also declare your own function with a set of arguments of any data type, e.g.:
function integer myFunction(integer arg1, string arg2, boolean arg3) {
<function body>
}
User-defined functions
myFunction($in.0.integerField,$in.0.stringField,$in.0.booleanField)
$in.0.integerField.myFunction($in.0.stringField,$in.0.booleanField)
Capt. Eddie to ground control:"Remember that the object notation <first argument>.function(<other arguments>) cannot be used in Miscellaneous functions. See Miscellaneous Functions."
Remember that if you set the Null value property in metadata for any string
data field to any non-empty string, any function that accepts string
data field as an argument and throws NPE when applied on null
(e.g., length()
) will throw NPE when applied on such specific string.
For example, if field1
has the Null value property set to "<null>"
, length($in.0.field1)
will fail on the records in which the value of field1
is "<null>"
and it will be 0 for empty field.
For detailed information, see Null value in the Details Pane.
Updated 8 months ago