レコードを処理するには

「レコード」タブ

RDBから取得したRecord形式のデータや、CSV形式やExcelファイルでの行単位のデータなど、 「レコード」を処理するためのコンポーネントは、パレットの「レコード」タブにまとめられています。ソートやジョイン(結合)、絞り込み、集計などを実行できます。 

レコードを絞り込む(RecordFilterコンポーネント)

1. 対象のフローを表示し、「レコード」タブからRecordFilterコンポーネント(「条件によって入力レコードを絞り込みます」)をドラッグして配置する6-124-01.png

2. インスペクタの「条件式」の「...」をクリックし、レコードを絞り込む条件を指定する6-124-02.png

HINT
インデックスで絞り込むには
RecordFilterコンポーネントの「フィルタリングの条件」プロパティで、「条件式」の代わりに「インデックス」を選択すると、「読込み開始行」や「取出す件数」を指定して絞り込むことができます。

3. その他のコンポーネントを接続し、マッピングを設定する6-124-03.png

4. RecordFilterコンポーネントの直後のマッパーで「一致した件数」や「一致しなかった件数」をマッピングし、出力できる6-124-04.png

上の例では、商品番号フィールドの値にJM1を含むレコードを絞り込み、一致するレコードはCSVファイルへ出力、条件式と一致した件数、一致しなかった件数は画面に出力するフローを作成しています。

HINT
条件式は、レコード形式を評価するRQLの記述方法で指定します。「~=」は、右辺が文字列の場合に、「を含む」を指定する比較演算子です。
RecordFilterコンポーネントの「一致しないレコードも取り出す」プロパティで、条件に一致しないレコードの出力も指定できます。

レコードのジョインを実行する(RecordJoinコンポーネント)

1. 対象のフローを表示し、「レコード」タブからRecordJoinコンポーネント(「指定したキーで二つのレコードを結合します」)をドラッグして配置する6-124-05.png

2. それぞれのコンポーネントを接続する6-124-06.png

3. RecordJoinコンポーネントを選択し、処理に応じてインスペクタの各プロパティを設定する6-124-07.png

HINT
RecordJoinコンポーネントで「入力キー」プロパティを設定する場合には、事前に入力ストリームを2つ接続しておく必要があります。
RecordJoinコンポーネントの「モード」プロパティで「RDB」を選択した場合は、「コネクション名」プロパティで接続先のコネクションも指定します。

4. インスペクタの「入力キー」タブをクリックし、ジョイン処理で使用される入力キーを設定する6-124-08.png 

5. RecordJoinコンポーネントアイコンをダブルクリックすると、「出力列の選択」ダイアログが表示されるので、出力対象のフィールド名にチェックマークを付け、「OK」をクリックする6-124-09.png 「出力列の選択」ダイアログで出力フィールドを設定することで、出力ストリーム型やフィールド定義も指定できるようになります。必要に応じマッピングなども設定してフローを完成させます。

HINT
手順4では、JOINで使用されるキーを指定します。「入力キー1」に入力ストリーム1のキーとなるフィールドを指定し、「入力キー2」に入力ストリーム2のキーとなるフィールドを指定します。この指定により、「入力キー1 = 入力キー2」という条件でレコードのJOINが実行されます。入力キーは複数指定することが可能です。
「出力列の選択」ダイアログで出力フィールドを設定すると、RecordJoinコンポーネントの「出力キー」プロパティに表示されます。

レコードをソートする (RecordSortコンポーネント)

1. 対象のフローを表示し、「レコード」タブから RecordSortコンポーネント(「レコードをソートして出力します」)をドラッグして配置する6-124-10.png

2. 各コンポーネントを接続し、RecordSortコンポーネントを選択して、インスペクタの各プロパティを設定する6-124-11.png

CAUTION
大量のレコードを処理しようとすると実行時にエラーに なることがあります。

HINT
RDBデータの読み込み時にソートを指定するには
SQLビルダーを使うと、RDBデータの読み込み時にソートを指定し、ソートを実行した状態で結果ストリームを出力できます。指定するには、SQLビルダーの右欄にある「ソート」タブをクリックし、「フィールド名」の一覧から、ソート対象のフィールドを選択します。

3. インスペクタの「ソートキー」タブをクリックし、「キー名」からソート対象のキーを選択する6-124-12.png 

4. 必要に応じMapperコンポーネントでストリーム定義やマッピングを設定し、フローを完成させる

6-124-13.png 

上の例では、RDBの結果ストリームから、「商品番号」をキーとして昇順にソートしたレコードを、CSVファイルとして出力しています。

HINT
「ソートキー」タブで「キー名」にキーを指定すると、「ソート順」に「昇順」が指定されます。降順にしたい場合は「ソート順」で「降順」を選択してください。
設定したソートキーを削除するには、「ソートキー」タブの一覧で行全体が選択された状態で右クリックし、メニューから「削除」を選択します。なお、ソートキーは複数指定できます。 

レコードをSQLで加工する (RecordSQLコンポーネント)

1. 「レコード」タブから RecordSQLコンポーネント(「レコードを仮想テーブルを使って SQLで加工します」)を配置し、各コンポーネントと接続する

6-124-14.png

2. RecordSQLコンポーネント「SQL 文」プロパティにSQL文を指定し、出力ストリームのストリーム型やフィールド定義を設定する6-124-15.png

RecordSQLコンポーネントでは、入力ストリームのレコードを複数接続できます。

HINT
SQL文の指定方法
テーブル名は、入力ストリームの接続順に、in[1], in[2],...と指定します。また、フィールド名は、入力ストリームで定義されているFieldの順に、field[1], field[2],...と指定します。たとえば、1番目の入力ストリームの1番目のField と、2番目の入力ストリームの1番目の Fieldをキーにinner joinを行う場合は、「select in[1].field[1], in[1].field[2], in[1].field[3], in[2].field[2] from in[1] inner join in[2] on in[1].field[1] = in[2].field[1]」のように指定します。

 

レコードの行と列を入れ替える (RecordTransposeコンポーネント)

1. ファイル入出力のフローを作成し、「レコード」タブからRecordTransposeコンポーネント(「レコードの行と列を入れ替えます」)をドラッグして配置する6-124-16.png

2. 各コンポーネントを接続し、RecordTransposeコンポーネントを選択して出力ストリームのストリーム定義を設定する6-124-17.png

入出力のファイルを指定し、ストリーム定義を設定することで、行と列を入れ替えたファイルを出力できます。

6-124-18.png

CAUTION
対象のデータによっては出力ストリームのフィールド定義でデータ型をすべてString型にする必要があります。

 

レコードの値を集計する (RecordAggregateコンポーネント)

1. 対象のフローを表示し、「レコード」タブからRecordAggregateコンポーネント(「レコードを集計します」)をドラッグして配置する6-124-19.png

2. 各コンポーネントを接続し、RecordAggregateコンポーネントを選択して、「キー項目」タブで「キーフィールド名」を指定する6-124-20.png

3. 「集計項目」タブで、「出力フィールド名」の値欄をクリックし、出力フィールド名としたい文字列を入力する6-124-21.png

HINT

指定可能な集計方法
RecordAggregateコンポーネントでは、合計、平均、最大値、最小値、個数、個数(重複を除く)の各集計方法を指定できます。

4. 「集計フィールド名」の一覧から集計対象のフィールドを選択し、「集計方法」の一覧から集計方法を選択する6-124-22.png

5. マッピングウィンドウで出力ストリームのマッピングやストリーム定義を設定する6-124-23.png

「キー項目」プロパティで指定したキーフィールドごとに、「集計項目」で指定したフィールドが集計され、出力されます。

6-124-24.png

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
    キーワード:
  • RecordFilter
  • RecordSQL
  • レコード
  • RecordAggregate
  • RecordJoin
  • RecordTranspose
  • RecordSort
他にご質問がございましたら、リクエストを送信してください

このセクションの記事

他のキーワードで検索する