11.4.2 レコードをソートしたあとに集約する例
ソートしたファイルのレコードを集約する例を示します。ここでは,支店コードをキーとして,売上金額を集約する例を示します。
- 〈この項の構成〉
(1) 条件
条件は,次のとおりです。
-
32ビット版SORTを使用する
-
キーの比較はJIS8単位コードの体系に従う
-
重複レコードの順序は入力順
-
入力ファイルおよび出力ファイルは,可変長順編成ファイル
-
ソートは昇順,キーの属性は文字項目(英数字)
-
ソートキーの開始バイト位置は「3」バイト目,バイト長は「6」バイト
-
集約キーの属性は文字項目(英数字)
-
集約キーの開始バイト位置は「3」バイト目,バイト長は「6」バイト
-
集約項目の属性は数字項目(内部10進数)
-
集約項目の開始バイト位置は「12」バイト目,バイト長は「8」バイト
-
結果の出力ファイル名は「OUTFILE」
-
入力ファイル名は「INFILE」
(2) パラメタファイルの形式
「wnsortex」コマンドに続けて指定するパラメタファイルの形式を次の図に示します。
(3) パラメタの指定内容
パラメタの指定内容を次の表に示します。
入力項目 |
指定内容 |
---|---|
[WNSORTEX] |
パラメタファイルの先頭である予約語を指定する。 |
exec_opt=sort:sum |
ソート機能および集約機能を使用することを指定する。 |
sort_opt=d |
重複レコードの順序は「入力順」と指定する。 |
file_org=v |
入力ファイルに「可変長順編成ファイル」を指定する。 |
sort_key=c+3-6 |
ソートキーの属性を「文字(英数字)」,ソートキーの開始バイト位置を「3」バイト目,バイト長を「6」バイトと指定する。 |
sum_field=p+12-8 |
集約項目の属性を「内部10進項目」,集約項目の開始バイト位置を「12」バイト目,バイト長を「8」バイトと指定する。 |
output_file=OUTFILE |
結果の出力ファイル名を「OUTFILE」と指定する。 |
input_file=INFILE |
入力ファイル名を「INFILE」と指定する。 |