In this Page
Object Examples
Conditional Expression
Expression |
$.hasOwnProperty('query.fred') ? $query.fred : 'not present in input'
|
---|
Description | This example is one way of doing an if-then-else expression. |
---|
Example | For example, to set a default pipeline variable in a document object, if you use the following expression for a mapper variable $lastname : $.hasOwnProperty('lastname') ? $lastname : _lastname
$lastname has the value of $lastnam e as supplied by a document in the stream. If there is no document input, then $lastname is set to the _lastname parameter value.
|
---|
String Examples
Checking for a Non-empty String
Expression |
$customer.lastname.trim() || 'default'
|
---|
Description | The expression verifies if $customer.lastname and $customer.lastname.trim() has a value. If it does, then the value of $customer.lastname.trim() is applied to the target path, otherwise 'default' gets applied to the target path. |
---|
Checking for an Existing Value
Expression |
$.hasOwnProperty('customer.lastname') || 'default'
|
---|
Description | The expression verifies if $customer.lastname exists in the input document. It returns True if $customer.lastname exists, else it shows 'default' as a string and applies it to the target path. |
---|
Checking for a Non-empty String and an Existing Value
Expression |
($.hasOwnProperty('customer.lastname') && $customer.lastname.trim()) || 'default''
|
---|
Description | The expression verifies if a property exists in the input document and if $customer.lastname and $customer.lastname.trim() provide a value. If it does then it applies its value to the target path, otherwise it applies 'default' to the target path. |
---|
Creating an Email Address from First Initial, Last Name
Expression |
$first_name.substr(0,1).toLowerCase()+$last_name.toLowerCase() + "@example.com"
$first_name.charAt(0).toLowerCase()+$last_name.toLowerCase() + "@example.com"
|
---|
Description | Either expression grabs the first letter of the $first_name field, converts it to lowercase, then adds it to the $last_name value and appends "@example.com" before writing it to $Email. |
---|
Date Examples
Expression |
Date.now().toLocaleDateString('{\"timeZone\":\"PST\", "format":"yyyy-MM-dd"}')
|
---|
Description | The expression creates the current date time in the PST timezone and formats its output into a string in the form of yyyy-MM-dd. |
---|
Expression |
Date.now().toLocaleDateTimeString('{"format":"yyyy-MM-dd\'T\'hh:mm:ss.SSS\'Z\'"}')
|
---|
Description | The expression creates the current date time and format its output into a string to include the letter "T" and "Z". Characters outside of normal SQLDate specials can be added by escaping them. |
---|
Expression |
Date.now().toLocaleDateString('{\"timeZone\":\"PST\"}')
|
---|
Description | The expression creates the current date time in the local time zone and formats its output into a string for the ISO date time format. |
---|
Parsing a Date
Expression |
Date.parse($StandardDate)
|
---|
Description | This expression parses a string representation of $StandardDate into a DateTime object. The string representation should have one of the following formats:- yyyy/MM/dd
- yyyy/MM/dd HH:mm
- yyyy/MM/dd HH:mm:ss
- yyyy/MM/dd HH:mm:ss.SSS
- MM/dd/yyyy
- MM/dd/yyyy HH:mm
- MM/dd/yyyy HH:mm:ss
- MM/dd/yyyy HH:mm:ss.SSS
- MMM dd, yyyy
- EEE, dd MMM yyyy HH:mm:ss
- EEE, dd MMM yyyy HH:mm:ss z
- EEE, dd MMM yyyy HH:mm:ss 'GMT'Z
- yyyy-MM-dd
- yyyy-MM-dd'T'HH:mm:ss
- yyyy-MM-dd'T'HH:mm:ssXXX
- yyyy-MM-dd'T'HH:mm:ss.SSS
- yyyy-MM-dd'T'HH:mm:ss.SSSXXX
- yyyy-MM-dd HH:mm
- yyyy-MM-dd HH:mm:ss
- yyyy-MM-dd HH:mm:ssXXX
- yyyy-MM-dd HH:mm:ss.SSS
- yyyy-MM-dd HH:mm:ss.SSSXXX
|
---|
Parsing a Non-standard Date
Expression |
Date.parse($NonStandardDate, "yyyy MM dd")
Date.parse($nonstandard_datetime, "yyyy-MM-dd HH:mm:ss.SSS")
|
---|
Description | These examples parse the date into a DateTime object using the provided format. |
---|
Expression |
Date.now().toLocaleDateString({"format":"MMMM"})
|
---|
Description | This expression takes today's date and formats the output in a string indicating the month in text. |
---|
Filtering Examples
Filtering for Two Possible Values
Expression |
$Priority == "Resolve Immediately" || $Priority == "High Attention"
|
---|
Description | Used in a Filter Snap, this expression finds only those items that have $Priority set to either Resolve Immediately or High Attention. |
---|
Filtering by Multiple Fields
Expression |
$Workflow == "Ready For Testing" && (($Priority == "Resolve Immediately") || ($Priority == "High Attention"))
|
---|
Description | Used in a Filter Snap, this expression finds only those items that are in the $Workflow step of Ready for Testing and $Priority is set to either Resolve Immediately or High Attention. |
---|
Filtering by Date within Timeframe
Expression |
$ClosedDate >= Date.now().minusHours(24)
|
---|
Description | Used in a Filter Snap, this expression finds only those items that have a $CloseDate within the last 24 hours. |
---|
Other Examples
Making a Field Value a Link
Expression |
'<a href="' + $Link + '">' + $ID + '</a>'
|
---|
Description | This expression turns the value of the $ID field into a HTML link pointing to the location found in the $Link field. |
---|
Mapping Values to an Array
This series of expressions maps data from:
[
{
"ORG_ASSIGNMENT": [
{
"ORGTXT": "Network Services",
"JOBTXT": "Service technician",
"POSTXT": "Manager"
}
]
to name/value pairs within an array:
[
"Organization": {
"Unit": [
[
"Position",
"Manager"
],
[
"Grade",
"Service technician"
],
[
"Division",
"Network Services"
]
]
}
]
Expression |
[‘Position’, jsonPath($, “ORG_ASSIGNMENT[*].POSTXT”).toString()]
|
---|
Target path | $Users.User[*].Organization.Unit[0] |
---|
Expression |
[‘Grade’, jsonPath($, “ORG_ASSIGNMENT[*].JOBTXT”).toString()]
|
---|
Target path | $Users.User[*].Organization.Unit[1] |
---|
Expression |
[‘Division’, jsonPath($, “ORG_ASSIGNMENT[*].ORGTXT”).toString()]
|
---|
Target path | $Users.User[*].Organization.Unit[3] |
---|