文字数のチェックをしたい
キーワード:Mapper,文字数,カウント
概要
データの文字数をカウントし、制限文字数を超えていないかチェックをしたい場合、文字数ロジックを使用します。
入力ファイル「ユーザID」の文字数をカウントし、10文字を超えているレコードにエラーメッセージを付与してファイルを出力します。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「CSVファイル読み取り処理」で入力ファイルを読み取ります。
- 「マッピング処理」でユーザIDの文字数を「文字数ロジック」を使用してカウントします。
- 上記でカウントした文字数が「10」を超えていた場合、エラーメッセージをセットします。
超えていなかった場合は、エラーメッセージをセットせずに出力します。
- 「CSVファイル書き込み処理」で出力ファイルに書き込みます。

実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「Output.csv」を参照してください。
ポイントとなる機能
名前 |
説明 |
ツールパレット上の場所 |
文字数ロジック |
入力文字列の文字数を返します。 |
「数値」-「関数」-「文字数」 |
処理のポイント
文字数ロジックで文字数をカウントし、結果をより大きいロジックに渡しています。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_056.zip」を展開します。
- プロジェクトのアップロード
「rl_reference_056.zip」を展開後に作成される「rl_reference_056プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_056プロジェクト」をアップロードしてください。
- サンプルデータの準備
「rl_reference_056.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。
スクリプトの作成手順

プロセスフローおよびデータフローは、「
サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
- CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
- CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
- マッピング処理のMapperエディタを開き、「ユーザID」の文字数をカウントし、10文字を超えていた場合にエラーメッセージを出力する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス

番号 |
ロジック名 |
説明 |
ツールパレット上の場所 |
(1) |
単純な繰り返し |
指定したノードを繰り返します。 |
「繰り返し」-「基本」-「単純な繰り返し」 |
(2) |
文字数 |
入力文字列の文字数を返します。 |
「数値」-「関数」-「文字数」 |
(3) |
数値定数 |
数値定数を出力します。 [必須設定]タブの[数値]に「10」を指定します。 |
「数値」-「基本」-「数値定数」 |
(4) |
より大きい |
上入力数値が下入力数値より大きいかどうか判定します。 |
「条件」-「数値」-「より大きい」 |
(5) |
条件判定による出力の切り替え |
成立/不成立で出力を切り替えます。 [条件]タブは以下のように設定してください。
判定対象 |
1.(4) |
判定方法 |
指定した値との比較 |
判定基準 |
~と等しい |
判定内容 |
true |
[成立時]タブは以下のように設定してください。
出力方法 |
指定した値を出力 |
出力内容 |
ユーザIDの文字数が10文字を超過しています |
|
「分岐」-「基本」-「条件判定による出力の切り替え」 |
処理のポイント
- 文字数ロジックで文字数をカウントし、カウント結果をより大きいロジックに渡しています。
ユーザIDが10文字より大きい場合、エラーメッセージを出力します。
|
- スクリプトを実行し、正常終了すれば成功です。