Key Data Items [ SORT-MERGE/XL General Users Guide ] MPE/iX 5.0 Documentation
SORT-MERGE/XL General Users Guide
Key Data Items
In SORT-MERGE/XL a key data item is a group of alphabetic, numeric, or
alphanumeric characters. The key data item is used by SORT-MERGE/XL as a
reference to find and arrange the data in a specified order. You specify
a key data item by identifying its position (column) in the record and
its length (number of succeeding columns) with the >KEY command.
A record is a continuous collection of related data that is treated as
one unit. A record can consist of more than one line of data in a file.
It is continued to subsequent lines by entering an ampersand (&) as the
last nonblank character on a line.
To define a key data item with the >KEY command, enter:
>KEY 40, 12
This specifies a key data item that begins in the 40th character position
(column) of the record and is 12 characters (columns) long.
You can sort or merge data based on one or more key data items.
Sorting Files By A Single Key Data Item
SORT-MERGE/XL can sort or merge files based on a single key data item
within a record. Figure 2-1 shows three records of data in a file.
Each record is one line in length. Each record contains a person's last
name, first name, occupation, and social security number. The last name
starts in column 1, the first name in column 10, the occupation in column
25, and the social security number in column 40.
NOTE The examples in this chapter contain two extra lines of numbers
(for example, 123456...9). These two extra lines are included to
show that the data is aligned in the columns established as key
data items. These two extra lines will not appear in your file.
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| WELBY MARCUS PHYSICIAN 242244444 |
| JONES SMOKEY TRUCKER 333887777 |
| SOUSE EGBERT DETECTIVE 123234454 |
| |
_____________________________________________________________
Figure 2-1. Key Data Item Positions
To define the last name as the single key data item to be sorted
alphabetically, enter:
>KEY 1, 9
The result of a sort done on the records shown in Figure 2-1 , based
on the command >KEY 1, 9, is shown in Figure 2-2 Note that the last
names are now arranged in alphabetical order.
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| JONES SMOKEY TRUCKER 333887777 |
| SOUSE EGBERT DETECTIVE 123234454 |
| WELBY MARCUS PHYSICIAN 242244444 |
| |
_____________________________________________________________
Figure 2-2. Alphabetical Sort By Last Name
To define the social security number as the single key data item to be
sorted numerically, enter:
>KEY 40, 9
The result of a sort done on the records shown in Figure 2-1 , based
on the command >KEY 40, 9, is shown in Figure 2-3 . Note that the
social security numbers are now arranged in ascending numerical order.
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| SOUSE EGBERT DETECTIVE 123234454 |
| WELBY MARCUS PHYSICIAN 242244444 |
| JONES SMOKEY TRUCKER 333887777 |
| |
_____________________________________________________________
Figure 2-3. Numerical Sort By Social Security Number
NOTE All entries in a file to be sorted for a key data item must start
in exactly the same column. In Figure 2-1 , all last names
start in column 1 and the number of characters must not extend into
the next data item field. Therefore, if Boris Tscherbakhanovski
were added to the list of last names in Figure 2-1 , his last
name would have to be shortened to Tscherbak so it would not extend
into the next key data item field containing first names. If you
want to merge this file with other files, the key data items in all
files must be located in exactly the same position and have the
same data format.
Sorting Files By Multiple Key Data Items
SORT-MERGE/XL allows you to specify more than one key within a record for
sort or merge purposes. For example, the data in Figure 2-1 , can be
arranged according to four different key data items (last name, first
name, occupation, or social security number). The command to specify the
last name as the single key data item to be sorted is:
>KEY 1, 9
This specifies that the key data item to be sorted begins in character
position (column) 1 and is 9 characters (columns) long. The result of a
sort done using the command >KEY 1, 9 is shown in Figure 2-2 .
The command to specify a multiple key data item sort with the last name
as the major key data item, and the first name as the second key data
item, is:
>KEY 1, 9; 10, 14
This specifies that the major key data item to be sorted is located in
character position (column) 1 and is 9 characters long; the second key
data item begins at character position 10 and is 14 characters long.
If there were two identical last names, the sort program would look to
the second key data item to break the tie. Multiple >KEY commands may be
entered one to a line, or all on one line, each separated by a semicolon:
>KEY 1, 9
>KEY 10, 14
>KEY 25, 15
Or:
>KEY 1, 9; 10, 14; 25, 15
If you define multiple key data items with the >KEY command, the priority
of the sort operation is:
* SORT-MERGE/XL treats the first key data item you enter (in this
example the last name) as the major key and sorts that item first.
* If there are two or more items of equal value in the major key
(two identical last names), the key data items are ordered
according to the second data item identified with the >KEY
command.
* In the case of ties on the second data item, the third data item
entered with the >KEY command is used, and so on.
* If two or more records are equal in all key fields, the original
order of the records in the input file(s) is used. (This is not
possible in this example since each person has a unique social
security number.)
For additional information on sorting by single or multiple key data
items, refer to Chapter 3.
Merging Files By Key Data Items
MERGE/XL allows you to combine two or more sorted files into a single,
new file based on one or more key data items. Figure 2-4 shows a
file called SORTED1. SORTED1 contains the three records shown as sorted
in Figure 2-2 .
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| JONES SMOKEY TRUCKER 333887777 |
| SOUSE EGBERT DETECTIVE 123234454 |
| WELBY MARCUS PHYSICIAN 242244444 |
| |
_____________________________________________________________
Figure 2-4. Sorted File SORTED1
You can merge this data with one or more additional sorted files such as
SORTED2, shown below in Figure 2-5 .
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| JONES AL POLITICIAN 768098989 |
| SMITH REGGIE OUTFIELDER 436897302 |
| TRUMAN HARRY POLITICIAN 895634409 |
| |
_____________________________________________________________
Figure 2-5. Sorted File SORTED2
If you merge the two files (SORTED1 and SORTED2) based on the command
>KEY 1, 9; 10, 14, the resulting new file (MERGED1) would contain the
information shown in Figure 2-6 .
_____________________________________________________________
| |
| |
| 1 2 3 4 |
| 1234567890123456789012345678901234567890123456789 |
| |
| JONES AL POLITICIAN 768098989 |
| JONES SMOKEY TRUCKER 333887777 |
| SMITH REGGIE OUTFIELDER 436897302 |
| SOUSE EGBERT DETECTIVE 123234454 |
| TRUMAN HARRY POLITICIAN 895634409 |
| WELBY MARCUS PHYSICIAN 242244444 |
| |
_____________________________________________________________
Figure 2-6. Merged File MERGED1
For additional information on merging files, refer to Chapter 4.
MPE/iX 5.0 Documentation