数値のフォーマットを変換したい
キーワード:Mapper,数値のフォーマッティング,書式,表示形式
概要
数値のフォーマットを変換したい場合、数値フォーマッティングロジックを使用します。サンプルプロジェクトの説明
CSVファイルの「購入品リスト」を読み取り、以下の計算を行った上で、CSVファイルに書き込みます。出力書式は、数値フォーマッティングロジックにて変換します。
- 「単価」に「個数」を掛けて、「金額」を求めます。
- 「不良品数」を「個数」で割って、「不良率」を求めます。

処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。- 「CSVファイル読み取り処理」で入力ファイルを読み取ります。
- 「マッピング処理」で「数値フォーマッティングロジック」を用いて書式を変換します。
- 「CSVファイル書き込み処理」で出力ファイルに書き込みます。

ポイントとなる機能
名前 | 説明 | ツールパレット上の場所 |
---|---|---|
数値フォーマッティングロジック | 入力数値を指定したフォーマット(DecimalFormat形式)で出力します。 | 「文字列」-「数値」-「数値フォーマッティング」 |
処理のポイント
書式は数値フォーマッティングロジックの [フォーマット]に、DecimalFormat形式にて指定します。サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ060のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_060.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_060.zip」を展開後に作成される「rl_reference_060プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_060プロジェクト」をアップロードしてください。 - サンプルデータの準備
「rl_reference_060.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。
スクリプトの作成手順

- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
- CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
- CSVファイル読み取り処理の設定は、以下のように行います。
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
- CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
- CSVファイル書き込み処理の設定は、以下のように行います。
- マッピング処理のMapperエディタを開き、数値フォーマッティングロジックを用いて書式を変換し、出力先にマッピングします。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 単純な繰り返し 指定したノードを繰り返します。 「繰り返し」-「基本」-「単純な繰り返し」 (2) 数値フォーマッティング 入力数値を指定したフォーマット(DecimalFormat形式)で出力します。
先頭にゼロを付与する書式に変換するため、[フォーマット]には以下の値を入力します。- [フォーマット]:0000000000
「文字列」-「数値」-「数値フォーマッティング」 (3) 数値フォーマッティング 入力数値を指定したフォーマット(DecimalFormat形式)で出力します。
円符号付きの金額書式に変換するため、[フォーマット]には以下の値を入力します。- [フォーマット]:\#,##0
「文字列」-「数値」-「数値フォーマッティング」 (4) 掛け算 二つの入力数値を掛けて返します。 「数値」-「演算」-「掛け算」 (5) 数値フォーマッティング 入力数値を指定したフォーマット(DecimalFormat形式)で出力します。
円符号付きの金額書式に変換するため、[フォーマット]には以下の値を入力します。- [フォーマット]:\#,##0
「文字列」-「数値」-「数値フォーマッティング」 (6) 割り算 上入力数値を下入力数値で割って返します。
小数点以下第4位を丸めるため、[有効桁数の指定]はチェックを入れ、[指定桁数]は「3」を入力します。「数値」-「演算」-「割り算」 (7) 数値フォーマッティング 入力数値を指定したフォーマット(DecimalFormat形式)で出力します。
パーセント符号付きの小数書式に変換するため、[フォーマット]には以下の値を入力します。- [フォーマット]:##0.0%
「文字列」-「数値」-「数値フォーマッティング」
処理のポイント
- パーセント符号付きの書式に変換する際、入力データに100を掛ける必要はありません。
- マッピングキャンバスは、以下のように設定します。
- スクリプトを実行し、正常終了すれば成功です。