この例題で説明する内容
この変換例で入力するファイルと、変換実行後に出力されるファイルを次に示します。

図8.100 変換例(集合関数的な処理)
各レコードが、マッピングで設定された順番に処理されます。ただし、後処理(関係線③)は最後に実施されます。
変換例での変換処理の順序を以下の表に示します。
処理の順番 |
処理対象のレコード |
処理の内容 |
|
---|---|---|---|
対応する関係線 |
内容 |
||
1. |
レコード1 |
① |
抽出条件1→変数 |
2. |
|
② |
抽出条件1→出力ファイル |
3. |
レコード2 |
① |
抽出条件1→変数 |
4. |
|
② |
抽出条件1→出力ファイル |
5. |
レコード3 |
① |
抽出条件1→変数 |
6. |
|
② |
抽出条件1→出力ファイル |
7. |
- |
③ |
後処理1→出力ファイル |
具体的な処理内容を次に示します。なお、説明中の番号は「表8.3 」の「処理の順番」に対応しています。
処理対象:レコード1
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
青木 |
60 |
95 |
55 |
1. 数値演算式に従って、各変数に以下の値を設定します。
総点【国語】 |
: |
0+60=60 |
(「総点【国語】(=初期値)」+「レコード1の国語」) |
総点【英語】 |
: |
0+95=95 |
(「総点【英語】(=初期値)」+「レコード1の英語」) |
総点【数学】 |
: |
0+55=55 |
(「総点【数学】(=初期値)」+「レコード1の数学」) |
2. 出力ファイルに以下の値を出力します。
名前 |
: |
青木 |
(レコード1の名前) |
国語 |
: |
60 |
(レコード1の国語) |
英語 |
: |
95 |
(レコード1の英語) |
数学 |
: |
55 |
(レコード1の数学) |
出力ファイルの内容は以下のとおりになります。
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
青木 |
60 |
95 |
55 |
処理対象:レコード2
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
佐藤 |
82 |
40 |
60 |
3. 数値演算式に従って、各変数に以下の値を設定します。
総点【国語】 |
: |
60+82=142 |
(「総点【国語】」+「レコード2の国語」) |
総点【英語】 |
: |
95+40=135 |
(「総点【英語】」+「レコード2の英語」) |
総点【数学】 |
: |
55+60=115 |
(「総点【数学】」+「レコード2の数学」) |
4. 出力ファイルに以下の値を出力します。
名前 |
: |
佐藤 |
(レコード2の名前) |
国語 |
: |
82 |
(レコード2の国語) |
英語 |
: |
40 |
(レコード2の英語) |
数学 |
: |
60 |
(レコード2の数学) |
出力ファイルの内容は以下のとおりになります。
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
青木 |
60 |
95 |
55 |
佐藤 |
82 |
40 |
60 |
処理対象:レコード3
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
森田 |
85 |
75 |
87 |
5. 数値演算式に従って、各変数に以下の値を設定します。
総点【国語】 |
: |
142+85=227 |
(「総点【国語】」+「レコード3の国語」) |
総点【英語】 |
: |
135+75=210 |
(「総点【英語】」+「レコード3の英語」) |
総点【数学】 |
: |
115+87=202 |
(「総点【数学】」+「レコード3の数学」) |
6. 出力ファイルに以下の値を出力します。
名前 |
: |
森田 |
(レコード3の名前) |
国語 |
: |
85 |
(レコード3の国語) |
英語 |
: |
75 |
(レコード3の英語) |
数学 |
: |
87 |
(レコード3の数学) |
出力ファイルの内容は以下のとおりになります。
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
青木 |
60 |
95 |
55 |
佐藤 |
82 |
40 |
60 |
森田 |
85 |
75 |
87 |
後処理
7. 出力ファイルに以下の値を出力します。
名前 |
: |
平均 |
(固定文字列) |
国語 |
: |
227÷3=75.7 |
(「総点【国語】」÷3) |
英語 |
: |
210÷3=70 |
(「総点【英語】」÷3) |
数学 |
: |
202÷3=67.3 |
(「総点【数学】」÷3) |
出力ファイルの内容は以下のとおりになります。
名前 |
国語 |
英語 |
数学 |
---|---|---|---|
青木 |
60 |
95 |
55 |
佐藤 |
82 |
40 |
60 |
森田 |
85 |
75 |
87 |
平均 |
75.7 |
70.0 |
67.3 |