ファイル名を動的に切り替えて出力したい
キーワード:メール,Mail,動的切り替え,ファイル,スクリプト変数
シナリオ一覧に戻る
概要
ファイル名を動的に切り替えて出力したい場合は、ファイル名にスクリプト変数を使用してファイルの書き込みを行います。
CSVファイルから抽出したメールアドレスをファイル名として、CSVファイルを出力します。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「CSVファイル読み取り処理」で入力ファイルを読み取ります。
- 「繰り返し(データ件数)処理」で入力データの件数分、以下の処理を繰り返します。
- 「マッピング処理」でメールアドレスをスクリプト変数に格納し、入力データを出力データにマッピングします。
- 「CSVファイル書き込み処理」で出力ファイルに書き込みます。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「murata@localhost.csv」・「watanabe@localhost.csv」・「yamada@localhost.csv」を参照してください。
ポイントとなる機能
名前 |
説明 |
ツールパレット上の場所 |
CSVファイル書き込み処理 |
入力データをCSV(Comma Separated Value)形式、TSV(Tab Separated Values)形式などの形式のファイルに書き込みます。 |
「ファイル」-「CSV」-「CSVファイル書き込み」 |
処理のポイント
CSVファイル書き込み処理の[ファイル]にスクリプト変数を指定します。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
サンプルプロジェクトファイル名 |
rl_reference_004.zip |
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_004.zip」を展開します。
- プロジェクトのアップロード
「rl_reference_004.zip」を展開後に作成される「rl_reference_004プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_004プロジェクト」をアップロードしてください。
- サンプルデータの準備
「rl_reference_004.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
- ファイル名として使用するスクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
- CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
- デザイナのツールパレット「基本」-「フロー」-「繰り返し(データ件数)」から、繰り返し(データ件数)処理をスクリプトキャンバスに配置します。
- 繰り返し(データ件数)処理の設定は、以下のように行います。
[必須設定]タブ

- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
- CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ

処理のポイント
- [ファイル]にスクリプト変数を使用することで、スクリプトを改修せずに動的に設定値を変更することができます。
スクリプト変数は、以下の方法で素早く入力できます。
- 入力フィールドにフォーカスをあてて表示させる変数入力アシスタント機能から選択します。
- 入力フィールドの右クリックメニューで[スクリプト変数]を選択します。
|
[書き込み設定]タブ

- マッピング処理のMapperエディタを開き、メールアドレスをスクリプト変数に格納し、入力データを出力データにマッピングする処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス

番号 |
ロジック名 |
説明 |
ツールパレット上の場所 |
(1) |
単純な繰り返し |
指定したノードを繰り返します。 |
「繰り返し」-「基本」-「単純な繰り返し」 |
- スクリプトを実行し、正常終了すれば成功です。