この例題で説明する内容

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

図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