• No : 35862
  • 公開日時 : 2024/05/13 12:02
  • 印刷
DSServistaDSCloud

DataSpider活用事例 ~【DataSpider】数字5桁の社員IDを持つデータのみを抽出したい~

社員マスタからデータを出力したいのですが、マスタにダミーデータが含まれているため、数字5桁の社員IDを持つデータのみを抽出したいです。
 
どのようなロジックを使用すればよいでしょうか。
 
カテゴリー : 

回答

[正規表現にマッチ] ロジックと [条件による抽出] ロジックを組み合わせることで可能です。
 
以下に具体的なスクリプトの作成例を紹介します。
 
▼スクリプト例
 
▼入力データ例
 
▼出力データ例
 
1.[CSVファイル読み取り] 処理と [CSVファイル書き込み] 処理のプロパティを
 それぞれ以下のように設定して、スクリプトキャンパス上に配置します。
 
▼ [CSVファイル読み取り] 処理
 
▼ [CSVファイル書き込み] 処理
 
2.[CSVファイル読み取り] 処理と [CSVファイル書き込み] 処理の間に
 [マッピング] 処理を配置し、プロセスフローとデータフローで繋ぎます。
 
3.[マッピング] 処理をダブルクリックして Mapper エディタを開きます。
 
4.ツールパレットの [繰り返し] - [条件指定] から、[条件による抽出] ロジックを
 マッピングキャンパス上に配置し、入力データの「row」と出力データの「row」を繋ぎます。
 ※入力データの「row」と出力データの「row」の間にデフォルトで [単純な繰り返し] ロジックが
  配置してある場合は削除して [条件による抽出] ロジックに置き換えてください。
 
5.ツールパレットの [条件] - [文字列] から、[正規表現にマッチ] ロジックを
 マッピングキャンパス上に配置します。
 
6.「正規表現パターン」に数字 5桁を表す正規表現「\d{5}」を入力します。
 
7.[正規表現にマッチ] ロジックを入力データの「column[1](=社員ID)」と
 [条件による抽出] ロジックの2番目の入力ハンドラに繋ぎます。
 
8.スクリプトを実行し、出力結果を確認します。
 
■応用
 [正規表現にマッチ] ロジックと [条件による抽出] ロジックの間に
 [Not演算] ロジックを配置することで、正規表現にマッチしないデータを抽出することも可能です。
 
■参考情報
 ▼DataSpider Servista
  ・[条件による抽出]
  
  ・[正規表現にマッチ]
  
  ・[Not演算]
 
 ▼DataSpider Cloud
  ・[条件による抽出]
  
  ・[正規表現にマッチ]
  
  ・[Not演算]
目的別で検索
設定