2013年

7月

31日

【Pentaho Lab】Table Input ステップで前ステップの値を抽出条件にする

 Table inputのステップは、データを抽出するためのSQL文を自由に記述でき、さらに前ステップの値を引き継いで抽出条件に加える事もできるので、非常に高いレベルの自由度で自分が抽出したいデータを抽出する事ができます。

データグリッドステップ
データグリッドステップ

 例えば、Table input ステップの前に、データグリッドステップに左のようなデータを定義しておいたとします。

 Table input(テーブル入力)ステップで次のように設定すると、前ステップであるデータグリッドの値を抽出条件としてWhere文の中にバインド変数として組み込む事ができます。

Table inputステップ
Table inputステップ

 SQLステートメント内の記述には、バインド変数は""として記述します。この"?"が複数ある場合には、先行するステップの値の順番で"?"に代入されます。

 ”先行のステップから値を引き継ぐ”をONにして、"ステップ名"に先行するステップを選択します。

 

 これだけで、先行する前ステップの値をTable input(テーブル入力)ステップのデータ抽出の条件として使用する事ができます。

 

 注意点としては、バインド変数として"?"がSQLステートメント内に記載されますので、プレビューをしようとするとエラーになってしまいます。プレビューをしたい場合は、次のステップにダミーステップなどをおいてプレビューする事になります。