Working with the FindExpressionBuilder

You have a question or need an advice about how to do something? Ask it here!
Post Reply
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Working with the FindExpressionBuilder

Post by radio42 »

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:
Image
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'))
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:
  • ContainsAnyOf([field], <list>)
  • MatchesAnyOf([field], <list>)
Where "ContainsAnyOf" checks, if any of the list parameters are contained in the first field parameter; and "MatchesAnyOf" checks, if any of the list parameters does word-match the first field parameter.
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')"

Post Reply