<< トップページへ

<< 目次へ

更新日:2015.11.28

特定の条件にマッチするレコードを抽出する



talendを操作するうえで以下の3ステップがあることを知っておいてください。

  1. インプットの指定(どんなデータを使うか)
  2. 処理の指定(そのデータに対してどんな処理をするか)
  3. アウトプットの指定(処理結果を出力する設定)



■インプットの指定

まずtalendのトップ画面の左側にある(先ほど読み込んだ) testDataPOS 0.1 という部分を画面中央上側にあるスペースにドラッグしてください(正確に表現するならば「ドラッグ・オン・ドロップ」ですが、ここでは略してドラッグということにします)。すると「コンポーネント」という画面が出てきますので、その中から 「tFileInputDelimited」 を選択して「OK」ボタンをクリックしてください。すると画面中央上側のスペースにアイコンが表示されると思います。これでインプットファイルの指定が完了しました。これに続いて「処理の指定」と「アウトプットの指定」を行っていきます。



■処理の指定

処理の指定として、今回は 「tFilterRow」 という機能を使ってみます。画面右側から「変換処理」に属する「tFilterRow」を選択し、これを先ほどと同じように画面中央上側のスペースへドラックしてみてください。さらに、testDataPOSを選択し、右クリックし、 「Row」 -> 「メイン」 を選択すると矢印がひけるようになりますので、それをtFilterRowのアイコンへとつなげます。この一連の操作を終えた画面のスクリーンショットを以下に示しています。



tFilterRowのアイコンをクリックした状態で、今度は画面下側の 「コンポーネント」 という部分を見てみてください。ここでtFilterRowの設定を行うことができます。今回は商品がaまたはbであるレコードだけ抽出するという操作を行ってみます。このtFilterRowで指定すべき点は、

の3点です。条件は複数指定することができ、条件を追加したい場合は [+] のアイコンをクリックすればOKです。


■アウトプットの指定

インプットの指定の際に、testDataPOSをドラッグしましたが、ここで改めて同じ操作をしてください(ドラッグしてください)。先ほどはtFileInputDelimitedを選択しましたが、今度は 「tFileOutputDelimited」 を選択してください。さらにtFilterRowのアイコンを右クリックし、 [Row] -> [フィルター] を選択してください。アウトプット側のtestDataPOSを選択した状態で画面下側のコンポーネントをいじっていきます。



まず「ファイル名」の部分をクリックすると、「リポジトリを使用してのパラメータの...」という画面が現れるので、「組み込みプロパティに変更」を選択した状態で「OK」ボタンをクリックしてください。



するとファイル名の欄が編集可能になるので、出力ファイル名を編集します。この際に 「ヘッダー名を含む」 にチェックを入れ忘れないようにしてください。これを入れておかないと、ヘッダーがない状態で出力されてしまいます。なお出力の際に「フィールド区切り記号」をタブなどに変更することも可能です。



ここまで終わったら、あとは 「実行」 のタブを選択し、実行ボタンをクリックすれば処理が行われます。デスクトップに「POS_商品a・bのみ.csv」が出力されていることを確認してください。また中身を確認すると「aとbのみ」のレコードが抽出されているはずです。