マッパー関数
マッピングの際に、関数(マッパー関数)を利用してデータを加工できます。マッパー関数は、データの変換に用いるための各種関数で、マッピングウィンドウを表示しているとき、機能ごとにタブで分類されたアイコンの一覧としてパレットに表示されます。
乗算値を出力する(Multiply関数)
1.マッピングウィンドウのパレットで「数値」タブをクリックし、Multiply関数(「掛け算」)をマッピング領域までドラッグして配置する
2.関数の引数としたいフィールドをMultiply関数アイコンまでドラッグする
3.Multiply関数アイコンから出力先のフィールドまでドラッグして接続線をつなぐ
Multiply関数は、数値を乗算して結果を返すマッパー関数です。上の例では、Multiply関数を使用して「単価」×「数量」の値を算出し、その結果を「金額」フィールドに出力するよう設定しています。
HINT
マッピングウィンドウ上で関数にマッピングした入力順に、引数としての順番が決まります。
マッパー関数について
マッパー関数は、通常のプログラミング言語での関数と同様に、0個以上の引数から演算処理を行って結果を返します。関数にはプロパティがあるので、必要に応じて設定します。引数の数は関数ごとに決まっており、関数によってはプロパティ値を初期設定の引数のように使用できます。また、返り値を複数出力する関数もあります。関数は、レコードごとに一度実行されます。
合計値を出力する(Sum関数)
1.対象のフローでMapperコンポーネントを配置し、入力と出力のストリーム定義を設定して、Mapper をダブルクリックする
2.マッピングウィンドウのパレットで「数値」タブをクリックし、Sum関数(「合計」)をマッピング領域までドラッグして配置する
3.関数の引数としたいフィールドをSum関数アイコンまでドラッグする
4.Sum関数アイコンから出力先のフィールドまでドラッグして接続線をつなぐ
上の例ではSum関数を使用して「field2」(出荷数1)、「field3」(出荷数2)、「field4」(出荷数3)の合計を算出し、「合計」フィールドに出力するよう設定しています。
HINT
Sum関数では、制限なしに複数の入力を指定できます。入力フィールドを1つずつドラッグすることも、複数をまとめてドラッグすることも可能です。
「数値」タブのマッパー関数
マッパーの「数値」の分類では、以下のような関数を利用できます。
| 関数 | 処理内容 |
|---|---|
| Add(足し算) | 数値を加算する |
| Subtract(引き算) | 数値を減算する |
| Divide(割り算) | 数値を除算する |
| Multiply(掛け算) | 数値を乗算する |
| Mod(割り算の余り) | 除算の余りを返す |
| Sum(合計) | 数値の合計を返す |
| Min(最小値) | 最小値を返す |
| Max(最大値) | 最大値を返す |
| Average(平均) | 数値の平均を返す |
| Round(数値の丸め) | 入力値を「四捨五入」、「切り上げ」、「切り捨て」のいずれかで処理する |
| Abs(絶対値) | 絶対値を返す |
| Rand(乱数を生成) | 乱数を生成して返す |
| FormatDecimal(数値フォーマット) | 入力数値を指定したフォーマットの文字列に整形する |