Leaves of data can be limited into groups called Ranges in two different ways (Text and Picked). In this section we’ll discuss only Picked Ranges which are the more simple of the two options. In a Picked Range you visually filter the Nodes and/or the Levels you wish to include and exclude. The difference between Nodes and Levels is discussed in a previous section, but should become clear in the next example.
Ranges can be used in several places in Spry:
- Table View
- Animation View
- Destination Paths
- Haulage Logic
In all of these areas, Ranges are used to filter what can be seen or accessed.
For example, if you were in Table View, and only wished to see data for Bench Positions 90 and above, you could create a Picked Range with a Bench Level Filter. In this example we don’t care about inheritance (where they sit in relation to anything else on the table) but just care about the absolute Position. But if you wanted to remove Stage 2, Strip 3 you couldn’t do that with a Level Filter (try it!) because it involves a relationship (you’d either filter out all of Stage 2 or all Strip 3) so instead you would use a Node Filter.
To create a new Picked Range, in the Setup Ranges window (accessible from several areas within Spry) right-click the Ranges icon or a folder and left-click New Picked Range.
In the example mentioned in the Conceptual section, the Node and Level Filters would look like this:
Note: Both filters can be considered as inclusive, allowing data through. You must select at least one Node in the Node Filter, but you only need to select Positions in the Level Filter if the Level Name (in the example above, Bench) is ticked.
Expression Filters (introduced in Spry 184.108.40.2065) allow for an alternate or additional filtering process to apply to both Picked and Text Ranges. The Expression should result in a True or False (no IF statement required) such as the example below which filters based on an ash percentage less than 10.
Inverse Ranges (introduced in Spry 220.127.116.117) allow you to set a range that includes everything BUT what is picked. Useful for selective exclusion