# データレコードをフィルター処理するジョブスクリプトの作成

この例では、ジョブスクリプトを記述して、CSVファイルを読み取り、指定された条件に基づいてデータレコードをフィルター処理し、次に概要情報を表示するジョブを定義する方法を示します: ソースファイルから読み取ったレコードの合計数、承認済みレコードの数、およびリジェクトレコードの数。

このジョブには、以下のコンポーネントが含まれます。

* tFileInputDelimitedコンポーネント。人物情報を含むソースCSVファイルを読み取ります。このソースファイルは、以下のとおり、5つのカラムで構成されています。

  ```
  name;gender;age;city;marriageStatus
  Van Buren;M;73;Chicago;married
  Adams;M;40;Albany;single
  Jefferson;F;66;New York;married
  Adams;M;9;Albany;-
  Jefferson;M;30;Chicago;single
  Carter;F;26;Chicago;married
  Harrison;M;40;New York;married
  Roosevelt;F;15;Chicago;
  Monroe;M;8;Boston;-
  Arthur;M;20;Albany;married
  Pierce;M;18;New York;-
  Quincy;F;83;Albany;married
  McKinley;M;70;Boston;married
  Coolidge;M;4;Chicago;-
  Monroe;M;60;Chicago;single
  ----- end of file --------
  ```

* tReplicateコンポーネント。入力データを2つのデータ出力フロー内に複製します。1つのフローは未処理データとしてコンソールに表示され、もう一つのフローはカラムフィルターで処理されます。

* tFilterColumnsコンポーネント。不要なカラムmarriageStatusを除去します。

* tFilterRowコンポーネント。データをフィルター処理して、以下の2つのテーブルに出力します。

  * 1つのテーブルには、姓が9文字未満で、年齢が10歳から80歳までの全男性が格納されます。

  * もう一つのテーブルには、リジェクトされたすべてのレコード、およびそのレコードがなぜリジェクトされたのかを示すエラーメッセージが格納されます。

* 3つのtLogRowコンポーネント: 1番目のコンポーネントは未処理データを表示し、2番目のコンポーネントは、承認されたレコードを表示し、3番目のコンポーネントは、リジェクトされたレコードとエラーメッセージを表示します。

* tJavaコンポーネント。要約情報を表示します。

以下、このジョブスクリプトをジョブスクリプトエディターで作成する手順を示します。まず最初に、必要なコンポーネントを追加します。空のジョブスクリプトの作成方法については、[ジョブスクリプトの作成方法](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/how-to-create-job-script)をご覧ください。

### このセクション内

* [入力コンポーネントを定義する](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/defining-input-component)
* [入力データフローを複製する](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/replicating-input-data-flow)
* [カラムフィルターコンポーネントを定義する](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/defining-column-filter-component)
* [レコードフィルターコンポーネントの定義](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/defining-record-filter-component)
* [複数の出力コンポーネントの定義](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/defining-output-components)
* [コンポーネントをリンク](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/linking-components)
* [サブジョブのラベル付け](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/labelling-subjobs)
* [レコードをフィルター処理するジョブを生成して実行する](https://help.qlik.com/talend/ja-JP/job-script-reference-guide/8.0/generating-and-executing-job-to-filter-records)