Mapperロジックの仕様(ドキュメントMapper/変数Mapper)

Mapperロジックとは

Mapperロジック(以下:ロジック)は、四則演算や文字置換など様々な値の変換や加工を行うことができる機能です。

ロジックの仕様

ロジックの種類

ロジックには大きく「繰り返し」「変換」の二種類があります。
種類はアイコンの左上のチップで判別できます。

ロジックの種類 チップ画像 パレットのタブ名
繰り返しロジック 繰り返しロジックを表すチップ 繰り返し
変換ロジック 変換ロジックを表すチップ 分岐
条件
数値
文字列
日付

通常、繰り返しロジックで分割したそれぞれのデータを変換ロジックで加工し、順に出力します。

変換ロジックのデータの型

変換ロジックの入出力ハンドラにはそれぞれ型が定められています。
入力ハンドラの型は、入力時に変換されるデータの型を意味し、出力データの型は、変換・加工の結果データの型を意味します。

通常、入力データの型と、ロジックの入力ハンドラの型が異なる場合、入力ハンドラの型へのキャストが動的に行われます。
型のキャストを行うことができない(変換できない)場合には、実行時エラーが発生します。

実行時エラーの発生によるスクリプトの停止を防ぐには、あらかじめデータ自体のチェックを行うか、スクリプト上のMapperコンポーネントを
例外監視処理で囲んでください。

変換ロジックの型

ロジックパレットは型により分類されており、型はアイコンの右下のチップで判別できます。

ロジックの型 内部データ型 チップ画像 パレットのタブ名
入力の型そのまま - なし 分岐
真偽型 boolean 真偽型を表すチップ 条件
数値型 BigDecimal 数値型を表すチップ 数値
文字列型 String 文字列型を表すチップ 文字列
日付型 Date 日付型を表すチップ 日付

数値型ロジックの内部データ型

Mapperで扱う数値型は、小数点も含むデータを正確に表現できるBigDecimal型で処理を行っています。
文字列型で数値演算が行われる場合、BigDecimal型に変換され処理を行います。
数値の小数点以下を切り捨てたい場合には、文字列のロジック「数値フォーマッティング」を使用してください。

各型を文字列型に変換した場合のフォーマット

ロジックの型またはスクリプト変数のデータ型を、文字列型にマッピングした場合のフォーマットは以下の通りです。

文字列型でのフォーマット
日付型 「yyyy-MM-dd'T'HH:mm:ss.SSSZZ」
バイナリ型 BASE64エンコード
数値型/整数型/10進数型 実数形式
真偽型/真偽値型 「true」または「false」

日付型のフォーマットについては、日時フォーマッティングのフォーマットを参照してください。

nullが入力された場合

データベース系のアダプタ等のデータに、値が存在しないことを表すnullが入っていることがあります。
変換ロジックに入力されたnullは、以下の様に処理されます。
nullを表現できない出力先アダプタにnullを出力した場合、nullはアダプタ内で適切な表現に変換されます。
nullオプションを指定可能なロジックの一覧は、「
nullオプション」を参照してください。  

数値演算と数値フォーマッティングのマッピング例

本体価格から税込価格を計算する。(CSV to CSVの例)
入力データ
カテゴリ,名称,本体価格,在庫
文房具,鉛筆,100,30
,ノート,200,10
書籍,DataSpider入門,1000,5
出力データ
カテゴリ,名称,本体価格,税込価格,在庫
文房具,鉛筆,100,105,30
,ノート,200,210,10
書籍,DataSpider入門,1000,1050,5

(1) 数値定数:消費税率の数値を作成しておくきます。プロパティインスペクタに値「1.05」を入力します。
 ※入力後、Enterキーを押下しないと入力が反映されないので注意してください。

(2) 入力を数値型に変換:通常、ロジックの数値型の入力へのキャストは暗黙的に行われますが、ここでは明示的に「本体価格」を数値型に変換しておきます。

(3) 掛け算:数値型に変換した「本体価格」と、数値定数「1.05」を掛け合わせます。このとき、例えば100 * 1.05 = 105.00となり、小数点が付加された状態になります。

(4) 入力数値をフォーマットにしたがって変換:文字列のロジック「数値フォーマッティング」を使用して、フォーマットを整えます。

この操作を行ごとに単純な繰り返しすることにより、マッピングが完成します。

注意事項