The filter bar at the top of the effects window, script, and other table windows supports full text search for whatever you type into the field, but it also supports search expressions, which enables you to filter the table according to precise criteria. For example, if you want to search for red cakes that have a duration between 20 and 30 seconds, you can type into the filter bar,
red cake duration > 20 duration < 30
If you press enter, Finale 3D will reformat what you typed as,
red + cake + duration > 20.0 + duration < 30.0
The reformatted version helps explain the syntax for search expressions. “Red” and “Cake” don’t correspond to any of the column headers, so they are interpreted as full text search terms. The table is filtered to items matching all of the full text search terms within the combined text across all columns. So in this case, the table is filtered to items containing “Red” and “Cake” no matter what columns those terms appear in.
The plus sign (+) separates terms in the search expression. Logically, the plus sign means “AND”. Thus in this example, a row in the table must satisfy all four conditions to pass the filter. Table 1 shows the full list of terms you can use in search expressions.
Table 1 – Search expression syntax
|Search for the substring “red” in any field|
|Exclude any item with the substring “red”|
|Multiple search terms|
|Search for items containing both “red” and “crackling”; shorthand for “red + crackling”|
|Duration value is greater than 2.3|
|Other numerical comparisons|
|Standard meanings; != means “not equal”|
|Require both conditions (the + symbol means AND)|
|Require either condition (the || symbol means OR)|
|Substring inclusion in a specific field|
|Part number field contains substring “YF”|
|Substring exclusion in a specific field|
|Part number field does not contain substring “YF”|
The variable fields in search expressions are column names. To avoid issues with localization in different languages, Finale 3D converts column names in search expressions to the internal column name, which is in English and doesn’t contain spaces. Thus if you type “Part Number” as part of a search expression, it will be converted to “partnumber”. The list of internal column names can be found in, Column names in Finale Inventory vs. Finale 3D.
Limitations of column names
Column names may only appear on the left side of boolean expressions; not on the right side. Thus the following expression is valid:
duration < 30
But the mathematically identical expression with the column name on the right side is not valid:
30.0 > duration
On account of this limitation, it is not possible to write expressions that compare two column names. For example, the following expression is unfortunately not valid:
safetydistance > positionsafetydistance
Left side and right side of binary expressions
Numerical comparisons must have a column name on the left side of the comparison symbol, and a number on the right side. The number may be followed by quotation marks to indicate its unit is inches; or mm, m, or ft to indicate its unit is millimeters, meters, or feet; or nothing if it is just a number. The following are all valid comparisons,
size > 2"
size > 50mm
size > 50
Numbers without explicit units representing sizes or distances are interpreted as inches if < 12 and millimeters otherwise, giving rise to a correct interpretation of most unit-less numbers for effect sizes.
Substring inclusion and exclusion phrases also must have a column name on the left side of the comparison symbol. The right side is a full text search term. Examples,
partnumber += YF
partnumber += "YF 4"
Conjunctions in the search expressions have higher precedence than disjunctions. Thus,
red size > 2" || blue
is interpreted as ( red + size > 2″) || blue, and includes rows that a) contain red and have size > 2″, or b) contain blue. Parentheses are not allowed in search expressions, which are thus restricted in syntax to disjunctive normal form.
The lack of parentheses in search expressions causes the two disjunctive quantity filters “Used > 0 or Quota > 0” and “Used > 0 or Available > 0” to combine poorly with other filters. Combining the “Used > 0 or Quota > 0” filter with “Size = 6″” for example results in the search phrase “size = 6″ + quota > 0 || used > 0”, which means “( size = 6″ AND quota > 0 ) OR used > 0”. As a workaround, if you want “( size = 6″ ) AND ( quota > 0 OR used > 0)” you can write the equivalent expression that does not require parentheses in the filter box: “size = 6″ + quota > 0 || size = 6″ + used > 0”.
If you want to search for items containing a phrase like “Red Crackling” that contains spaces, you can surround the phrase with quotation marks to make a quoted phrase. Searching for “Red Crackling” (quotations included) will exclude a row that merely has the description “Red & Blue Crackling” because it doesn’t contain the quoted phrase exactly.
Since shell sizes in inches are common search terms in pyrotechnics, Finale 3D handles quotation marks with special rules that allow you to use them directly in search terms like 2″ and also quoted phrases. Loosely speaking, pairs of quotation marks define a quoted phrase. Individual quotation marks are merely part of a full text search term. Thus,
represents a quoted phrase, but,
represents a full text search for red and 2″. Generally, Finale 3D will understand when quotation marks are part of the full text search term, and not part of a quoted phrase. If you want to search for a quoted phrase that contains a quotation mark character inside the phrase, you can precede the interior quotation mark with a backslash, as in,
"red 2\" crackling"
Though the circumstances are contrived, it is possible to construct search phrases with quotation marks that have ambiguous looking interpretations. An example is: size=3 “description=4” chrys (with a space between the 3 and the quotation mark). The interpretation is guaranteed to have the natural meaning if, a) quotation marks surrounding quoted phrases are flanked on the outside by space or nothing; b) quotation marks that are part of search terms outside of quoted phrases are not preceded on the left side by =, <, > or space; and c) quotation marks that are part of search terms inside of quoted phrases are preceded on the left by a backslash.
Boolean fields like the script fields “Straight Up” and “Is Chain” and “Pair” may be displayed as checkmarks in the table. Use the formal values “true” and “false” in search expressions, such as:
straight up = true
True and false in the search expression are not case sensitive.