Advanced Operator Logic
When creating filters, you can use custom operator logic to form relationships between the individual filters. By default, multiple conditions are related with the AND operator, as are multiple actions. However, by creating custom operator logic, you can also use the OR and NOT operators, as well as parenthetical groupings.
Operator logic statements are evaluated left to right with parenthetical groupings evaluated first. By using advanced operator logic with your filters, you can eliminate extraneous data that may be imported with your data feed or included in your search results.
On this page
Custom operator logic
Custom operator logic allows you to use multiple operators and parenthetical groupings to further specify your advanced operator logic.
Note: The OR operator is supported only when you are filtering fields within a single level of a leveled application or in a flat application. If you are filtering fields across different levels and applications, you must use only the AND operator. Ultimately, the results of a search across multiple levels and applications depend on the filters you apply and the relationships the search process builds between the filtered fields.
Important: Custom operator logic must validate before you can save or apply changes to your data filter. If your custom operator logic does not validate, you are prompted with an "Invalid Operator Logic" error message.
Example: Single operator expression
You are importing assets from an external source into the Assets application. You want to import assets from your external file only if they are labeled as being in a production environment or if they are customer impacting.
To set up this process, you define data filters to evaluate both the System Environment and Security Class elements in your external data file for the values you want. Without using operator logic, your conditions are related with the AND operator, and the data feed imports items that are both in a production environment AND have a high security class. By using operator logic with the OR operator, you achieve the result you want: Assets that are in a production environment OR have a high security class are imported into the Assets application.
Example: Multiple operators with nested parenthetical expressions
You also can use nested parenthetical expressions in your operator logic. Nested parenthetical expressions allow you to combine the results of 2 separate logical conditions, thereby creating an additional logical condition, as shown in the following example.
(1) System Environment |
(2) Security Class |
(3) Manufacturer |
(4) Operating System |
(5) Server Room |
Result |
---|---|---|---|---|---|
Production |
Medium |
IBM |
RHEL 4.0 |
Denver Facility |
Imported |
Testing |
High |
Dell |
Windows Server 2003 |
Denver Facility |
Imported |
Testing |
High |
Dell |
Windows Server 2003 |
Chicago Facility |
Not Imported |
Production |
Medium |
Dell |
CentOS |
Denver Facility |
Not Imported |
The Data Feed Manager evaluates the nested parenthetical expressions first. In the last example in the previous table, since neither 3 or 4 evaluate to "TRUE" in the nested parenthetical expression, the primary parenthetical expression evaluates to "FALSE," and thus the entire logical condition fails and the data is not imported, even though all of the other conditions are met.
Example: Multiple operators with a parenthetical expression
You can use additional operators by incorporating parentheses in your operator logic, as shown in the following example.
(1) System |
(2) Security Class |
(3) Manufacturer |
Result |
---|---|---|---|
Production |
Medium |
IBM |
Imported |
Testing |
High |
IBM |
Imported |
Production |
High |
Dell |
Not Imported |
Testing |
Medium |
IBM |
Not Imported |
The system evaluates the parenthetical expression first. In the last example in the previous table, since neither 1 or 2 evaluate to "TRUE," the entire condition fails even if 3 evaluates to "TRUE".