Filter Expressions
From AgileApps Support Wiki
Revision as of 19:51, 7 May 2014 by imported>Aeric
About Filter Expressions
Filter Expressions are complex queries that are built with a combination of Fields, Operators and Values. Filter Expressions are used to evaluate a group of records and return the records that meet the specified criteria. The filter is created by building an expression that defines some criteria.
A filter expression is a special type of expression used when searching for records. They are used in:
- Reports
- JAVA APIs
- REST APIs (Also used for AJAX and REST.)
These fields are available for use in Filter Expressions:
- Custom Object Fields and fields in System Objects.
Specify the fieldName. The value for the field comes from the current record. - Rollup Summary Fields
- Custom Object Fields and fields in System Objects.
Building Filter Expressions
Components of a filter expression are: <FIELD_NAME> <OPERATOR> <VALUE> <LOGICAL OPERATOR>
- FIELD_NAME
- The name of the Field or Computed Field to use in creating a filter
- OPERATOR
- The following operators are available in a filter expression:
Operator Description equals Returns only records with the specified value not equal to Returns only records that do not include the specified value less than Returns only records that are less than the specified value less than equals Returns only records that are less than or equal to the specified value greater than Returns only records that are more than the specified value greater than equals Returns only records that are more than or equal to the specified value contains Returns only records that contain the specified value not contains Returns only records that do not contain the specified value starts with Returns only records that start with the specified value ends with Returns only records that end with the specified value
FIELD_VALUE
- The search value - a string, a date, a number.
- Examples:
- String: 'Paper 123'
- Date: '06/06/2007'
- Numeric Value: 9383
- Empty Field: '' or BLANK
- Follow these guidelines when specifying values:
- The value can be partial text or whole words
- Enclose strings and date/time values in 'single quotes'
- To specify date values, use the Date Format as specified in Company Information
- To search for a blank (empty) string, use two single quotes, with nothing between them ('').
- To search for a blank (empty) field of other kinds, use a field value of BLANK
- To search for multiple field values, separate each value using vertical pipe (|)
- For example: company_name='Acme|Ajax'
- (The criteria is satisfied when the company name is either Acme or Ajax)
- To search for a field value that happens to contain a vertical pipe (|), you need to "escape" the pipe so it is recognized as a literal character in the field. To do that, you put a backslash in front of it: \|. For example, company_name contains '\|'
- That works in REST APIs and in the GUI.
- In Java strings, the backslash is already an escape character. (It combines with the one that follows it to create a single character.)
- So in Java code, you need two backslashes: \\|
- (The first two (\\) combine to become a single backslash (\), so the filter expression handler sees "\|", as desired.)
- Finally, note that "equals" does not work for this particular search. The required operator is "contains".
- To include a single quote in the value that you are searching for, specify an additional quote for every single quote ('').
LOGICAL_OPERATOR
- Logical operators can be used to build more complex expressions.
- The logical operators are:
- AND
- OR
- Considerations
-
- Two subexpressions joined by a logical operator form a logical expression.
- Logical expressions resolve to a Boolean value: 1/0 or TRUE/FALSE.
- Use parentheses--()--to group expressions logically and to join multiple expressions.
- Parentheses are used in pairs; each open parenthesis "(" requires a closing parenthesis ")".
- For example:
- ((<expression1> AND <expression2>) OR (<expression3> AND <expression_4>))
- Learn more: Using Logical Operators and Parentheses