ShipStream Knowledge Base
Interface Basics

Advanced Grid Filtering

ShipStream grids contain form fields in the header row which allow you to filter the results. Enter or select your filters and then click "Search" to apply the filters.

When using the Export feature you must click "Search" before you click Export if you want your filters to apply to the exported data.

For grid columns that contain a single text input field you can enter a search query that will be matched against that column field. By default the search will be matched using a prefix search. For example, a search for "ABC" will match "ABCD" but not "XABC".

If you want more control over your search there are many features at your disposal which use special keywords which are described in detail below.

  • Prefix match (default)
    • (wildcards)
    • (empty values)
    • (not-empty values)
  • OR
  • EQ
  • NOT EQ
  • LIKE
  • NOT LIKE
  • REGEXP
  • NOT REGEXP
  • IN
  • NOT IN
  • EMPTY
  • NOT EMPTY

The examples given below assume your are searching a grid column where the full data set includes the following values:

  • Red
  • Red-b
  • Red-c
  • Rose
  • Yellow
  • Yellow-b

Prefix Match (default)

When no special characters or keywords are used the default search behavior is a "prefix match" meaning that any value matching your search term at the beginning will match.

Example Search TermMatchesIgnores
RedRed, Red-b, Red-cYellow, Yellow-b, Rose
RRed, Red-b, Red-c, RoseYellow, Yellow-b
low(none)Red, Red-b, Red-c, Yellow, Yellow-b, Rose

Specify an asterisk (*) anywhere you would like to use a wildcard (matches zero or more characters). For example to search anywhere surround the search term with a wildcard on both sides (*query*).

Example Search TermMatchesIgnores
*lowYellowRed, Red-b, Red-c, Rose, Yellow-b
lowYellow, Yellow-bRed, Red-b, Red-c, Rose
R*-bRed-bRed, Red-c, Rose, Yellow, Yellow-b

Empty (-) or Not Empty (+)

Sometimes you may need to find specifically values that are empty (tehcnically NULL or zero characters) or not empty (1 or more characters).

Example Search TermMatchesIgnores
-(empty values)(non-empty values)
+(non-empty values)(empty values)

Multiple Searches (OR)

You can specify multiple of any of the above searches by combining them with boolean OR logic so that if any of the queries match then the value will be considered a match.

Example Search QueryMatchesIgnores
Red OR YellowRed, Red-b, Red-c, Yellow, Yellow-bRose
*-c OR EQ Yellow-bRed-c, Yellow-bRed, Red-b, Rose, Yellow
IN Red,Rose OR *-bRed, Red-b, Yellow-b, RoseRed-c, Yellow

Exact Match (EQ)

Example Search TermMatchesIgnores
EQ RedRedRed-b, Red-c Yellow, Yellow-b, Rose

Negative Match (NOT EQ)

You can specify the exact values that you would like to not match using NOT EQ ("not equals") or NEQ for short.

Example Search TermMatchesIgnores
NOT EQ RedRed-b, Red-c Yellow, Yellow-b, RoseRed

Advanced Wildcards (LIKE)

This keyword is similar to the wildcard match but uses LIKE as a keyword and supports * as a wildcard that matches zero-or-more characters as well as ? as a wildcard that matches only a single character.

Example Search TermMatchesIgnores
LIKE *lowYellowRed, Red-b, Red-c, Rose, Yellow-b
LIKE R??-*Red-b, Red-cRed, Rose, Yellow, Yellow-b

Negative Advanced Wildcards (NOT LIKE)

Negate any LIKE search using NOT LIKE.

Example Search TermMatchesIgnores
NOT LIKE *lowRed, Red-b, Red-c, Rose, Yellow-bYellow
NOT LIKE R??-*Red, Rose, Yellow, Yellow-bRed-b, Red-c

Regular Expressions (REGEXP)

Regular expressions are an advanced language that is very powerful. See the MySQL documentation for complete information as it pertains to the grid searches.

Example Search TermMatchesIgnores
REGEXP ^A-Ze.+Red, Red-b, Red-c, Yellow, Yellow-bRose

The above example says to match any value that begins with an uppercase letter in the range from "A" to "Z" followed by a lower-case "e" followed by any character one or more times.

Negated Regular Expressions (NOT REGEXP)

Like above but to match everything that doesn't match the regular expression use NOT REGEXP.

Example Search TermMatchesIgnores
NOT REGEXP ^A-Ze.+RoseRed, Red-b, Red-c, Yellow, Yellow-b

The above example says to match any value that begins with an uppercase letter in the range from "A" to "Z" followed by a lower-case "e" followed by any character one or more times.

List of Values (IN)

If you want to match a list of exact values you can separate the values with a comma and use the IN keyword.

Example Search TermMatchesIgnores
IN Red,Yellow,RoseRed, Yellow, RoseRed-b, Red-c, Yellow-b

Negated List of Values (NOT IN)

If you want to match everything except a list of exact values you can separate the values with a comma and use the NOT IN keyword.

Example Search TermMatchesIgnores
NOT IN Red,Yellow,RoseRed-b, Red-c, Yellow-bRed, Yellow, Rose