Using Query Conditions
Open conditions section (1) and select Query condition type (2):
You can use Standard or Advanced config mode to create condition.
Standard Query config mode allows user to create condition using only process data source object fields, while selecting Advanced Query config mode adds Object picklist where user is to choose from the list of available objects (3):
- Click "Add Condition" button
- Select fields, operators and set values
- Add more conditions
Operators can be the following.
For any field:
- Equals - strict equality of value of selected field to one that is specified in "Value" field (for dates and times - matching selected range)
- Not equal to - opposite to previous (strict unequality; for dates and times - out of selected range)
- Is null - value of selected field is blank or absent (not set at all)
- Is not null - opposite to previous (value of selected field exists and it is not blank)
For text and picklist fields:
- Starts with - value of selected field starts with a substring (group of symbols) specified in "Value" field
- Contains - value of selected field contains a substring specified in "Value" field
- Does not contain - opposite to previous (value of selected field does not contain a specified substring)
For numeric (number, currency, percent, etc.) and date (date, time, datetime) fields (for date fields "less" means "earlier" and "greater" means "later"):
- Less than - value of selected field is less than one specified in "Value" field
- Greater than - value of selected field is greater than one specified in "Value" field
- Less or equal - value of selected field is less than one specified in "Value" field or equal to it
- Greater or equal - value of selected field is greater than one specified in "Value" field or equal to it
For multiselects:
- Includes - value of selected field includes one specified in "Value" field (suitable to fields that does not support "contains" operator, like lists of IDs)
- Excludes - opposite to previous (value of selected field does not include one specified in "Value" field)
For picklists, IDs, lookups:
- In - value of selected field is in the list of values provided in "Value" field
- Not in - opposite to previous (value of selected field is not in the list of values provided in "Value" field)
Operators "In / Not in" take lists of values in the following formats (in the order of their priority from highest to lowest):
- JSON array -
["Value1","Value2","Value3"]
- string with
;
delimeter -Value1;Value2;Value3
- string with
,
delimeter -Value1,Value2,Value3
If value have an umbiguous content, system will interprete in the order shown above.
E.g., the string Value1;Value2;Value3,4;Value5
will be interpreted as ["Value1", "Value2", "Value3,4", "Value5"]
, not as ["Value1;Value2;Value3", "4,Value5"]
.
Values can be of different types:
- Value - some static value
- Field - values of the the fields of the Source object
- Formula - compare with Merge fields of Context objects using formulas.
Provide condition logic expression if necessary (4):
Condition logic is build based on list of conditions user created.
If you don't fill Logic field then all conditions are validated all at once so record that gets validated should meet all conditions.
To use conditions in Logic expression one needs to operate conditions Index values. So {1} will represent Opportunity.Closed = TRUE condition, {2} will represent Opportunity.Fiscal_Quarter = 2 condition, etc.
Each condition Index must be enclosed in curved brackets
Following operators can be used when creating logic based on list of indexed conditions:
- OR evaluates if at least one of multiple values or expressions is true.
- AND evaluates if two values or expressions are both true.
- NOT(expression that you want evaluated) - Returns FALSE for TRUE and TRUE for FALSE.
( ) specifies that the expressions within the open parenthesis and close parenthesis are evaluated first. All other expressions are evaluated using standard operator precedence.
Examples:
Following condition will be met in case one of the listed clause return TRUE.
Following condition will be met in case opportunity is not Closed, Fiscal Quarter value is 2 and either opportunity record has line items or Probability value is greater than 80%.
Following condition will be met in case opportunity is in Closed state, Probability value is less than 80% and either Fiscal Quarter is not 2 or opportunity has no Line Items.
Creating complex query condition logic
{BR} operator is used to create WHERE part of Condition logic. Everything that goes after {BR} works the way clauses do after WHERE statement in Salesforce Object Query Language. Use SOQL SELECT Syntax after {BR} operator.
{BR} operator must go after base condition logic
Examples:
Following condition will be met in case opportunity is not in Closed state and Fiscal Quarter is 2 or both Has Line Item is TRUE and Probability is greater than 80%, and query will only include opportunity where CreatedBy.Email='[email protected]' or LastModifiedDate > YESTERDAY.
Following condition will be met in case opportunity is in Closed state and Fiscal Quarter is not 2 or both Has Line Item is FALSE and Probability is lower than 80%, and query will only include opportunity where CreatedBy.Email value is not '[email protected]' or LastModifiedDate equals or greater than YESTERDAY.
0 Comments
Add your comment