[Pentaho kettle] 外部キーがある場合の子テーブルの作りかた

親テーブルと子テーブルがあり、これが外部キーで接続されている場合。

親テーブルを作ったあと、そのIDを使って子テーブルを作る必要がある。

単純に以下のようにする。

pentaho_spoon_child_table_output

テーブル出力で親テーブルを、テーブル出力3で子テーブルを作る。
ちなみに、親テーブルのIDはあらかじめ採番しておく。
その採番したIDを使って子テーブルを作る。




[Pentaho kettle] 条件によって値を変える方法。(範囲外のデータを処理する)

データがある条件 (x > y) の時は、x の値は固定にしたいとき。
例えば、データの移行で誤ったデータがある場合などには、データを一律変更した場合などは以下のように処理するとよい。

pentaho_spoon_compare_data_transfer

例えば、カラム genre の値が、0以下の場合および、21以上の場合は、一律7に変換したい場合。

フィルター2(filter rows) に、genre が genre < 1 の時は、値マッピング2(value mapper) で、genre を 7 にする。
それ以外の時は、フィルター3に処理が続き、ここで、 genre > 20 の時は、同じように、値マッピング3(value mapper) で、genre を 7 にする。

フィルター(filter rows) は以下のように設定する。

pentaho_spoon_compare_value_filter

値マッピング(value mapper) は以下のように設定する。
pentaho_spoon_compare_value_mapper

このように、値マッピング(value mapper)を設定するればいかなる条件でも、7に値が固定される。