Working with the FindExpressionBuilder
Posted: 13 Apr 2012 17:33
The 'FindExpressionBuilder' is an extend way of defining serach resp. filter criterias.
It can be used from either the 'Find' window or within the 'Script Editor' to define a filter for a certain script-line.
It can be invoked in both cases by clicking on the '?' button; and looks like this:
This editor allows you to build complex filter criteria with an unlimited number of filter conditions, combined by logical operators. You can switch between a Tree-Like or text-based filter editing style.
In the above screens example the resulting text based filter would be: As you can see the top root node logical operator defines the initial one and any child group operator defines the behaviour for its childs.
Note, that unless the 'Case-Sensitive' option is checked all comparisions are case insensitive!
There are two filter extension function, which can (currently) only be added in text mode only, which are:
Examples:
"ContainsAnyOf([Artist], 'Madonna', 'Prince')"
"MatchesAnyOf([Artist], 'Madonna', 'Prince')"
Note: Instead of specifying a <list> you might also specify a text file location containing the list element values. The filename must be specified with a preceding '@'-sign. Each element must be placed in its own line within the referenced file.
Example:
"MatchesAnyOf([Artist], '@C:\Filter\artistlist.txt')"
It can be used from either the 'Find' window or within the 'Script Editor' to define a filter for a certain script-line.
It can be invoked in both cases by clicking on the '?' button; and looks like this:
This editor allows you to build complex filter criteria with an unlimited number of filter conditions, combined by logical operators. You can switch between a Tree-Like or text-based filter editing style.
In the above screens example the resulting text based filter would be:
Code: Select all
StartsWith([Grouping], 'top') And Contains([Grouping], 'opener') And ([Genre] In ('soul', 'jazz') Or Contains([Mood], 'mellow'))
Note, that unless the 'Case-Sensitive' option is checked all comparisions are case insensitive!
There are two filter extension function, which can (currently) only be added in text mode only, which are:
- ContainsAnyOf([field], <list>)
- MatchesAnyOf([field], <list>)
Examples:
"ContainsAnyOf([Artist], 'Madonna', 'Prince')"
"MatchesAnyOf([Artist], 'Madonna', 'Prince')"
Note: Instead of specifying a <list> you might also specify a text file location containing the list element values. The filename must be specified with a preceding '@'-sign. Each element must be placed in its own line within the referenced file.
Example:
"MatchesAnyOf([Artist], '@C:\Filter\artistlist.txt')"