String banding
This conversion bands (or bins) textual data. It is typically used to make a standard and easy to use banded version of text string data. This banded version is convenient for the FastStats end user for point and click selection and Cross Tabs etc.
Note
String banding operations can be calculated “on the fly” from a numeric variable by using FastStats and the results can be saved as virtual variables.
The same operations can be performed as Post-Load Scripts. However it is sometimes useful to band text strings at the build stage.
To produce a banded selector: define the selector over the top of the field that contains the value. This is most easily achieved using an Alias. The Decodes for a string band include descriptions that specify the range.
String bands¶
Individual ranges on string variables can have any one of the following syntax:
AAA - BBBrepresenting any string starting AAA to any string starting BBB inclusive.AAArepresenting exactly AAA.AAA - AAArepresenting any string starting AAA e.g. AAAX, AAAB> AAArepresenting any string alphabetically greater than AAA< AAArepresenting any string alphabetically less than AAA>=AAArepresenting any string alphabetically greater than or equal to AAA<=AAArepresenting any string alphabetically less than or equal to AAA
Any strings that include -, >, <, *, ? must have the whole string enclosed in speech quotes (“).
Ranges can also be formed by entering a string containing the standard ‘’ and ‘?’ wildcards. The ‘’ character wildcard can match any string including spaces whereas the ‘?’ character wildcard matches exactly one character. You can include as many wildcards in your string as required.
Examples of wildcard ranges¶
r?b would match rob, rib, rub but not root or rb.
pp would match any string containing “pp” e.g. appropriate, hippo, pp, ppp etc.
p?p would match any string containing “p?p” e.g. pop, hipppy, p2p but not hippy
Note
You cannot specify ranges containing wildcards e.g. pp - r? is invalid.
For banding, a record will be classified into the first range that it satisfies.
The following examples illustrate how FastStats interprets some typical string ranges (assume the string is defined as 4 characters in length in this case):
| Range | Interpretation | Note | |
|---|---|---|---|
| Description | Lower | Upper | |
| ABC | ABC | ABC | - |
| ABC - ABC | ABC# | ABC$ | - |
| ABCD - ABCF | ABCD | ABCF | - |
| A\* | A### | A$$$ | - |
| 1 - 9 | 1### | 9$$$ | - |
| >=AB | AB## | $$$$ | - |
| \<= DOG | #### | DOG$ | - |
| >LOTS | LOTS | $$$$ | - |
In the above examples interpret # as “first alphabetic character” and $ as “last alphabetic character”.
All bands are treated as inclusive at both ends and a value will be selected once under the first band that it falls into. Invalid bands are ignored.
Example
Band the customer surname into 4 bands plus a catch-all band.
| Code | Description |
|---|---|
| ! | Unclassified |
| A | A - F |
| B | G - L |
| C | M - R |
| D | S - Z |