# この例題で説明する内容

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

図8.100 変換例（集合関数的な処理）

各レコードが、マッピングで設定された順番に処理されます。ただし、後処理（関係線③）は最後に実施されます。

変換例での変換処理の順序を以下の表に示します。

表8.3 変換例（集合関数的な処理）での変換処理の順序

処理の順番 | 処理対象のレコード | 処理の内容
--- | --- | ---
対応する関係線 | 内容
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