Pentaho Data Integration / Pan を使用してタイプ 2 (SCD) テーブルを作成しようとしています。
初めて DimensionLookup ステップでデータを実行した後、次のようなタイプ 2 テーブルを取得しました。
PKID version date_from date_to MyPK Field1 Field2 ...
150 1 1900-01-01 00:00:00 2199-12-31 23:59:59 1 "X" "Y" ...
ここまでは順調ですね。その後、新しいデータを取得して元のテーブルを更新し、同じ DimensionLookup ステップを実行したところ、変更されたすべてのレコードは次のようになりました。
PKID version date_from date_to MyPK Field1 Field2 ...
150 1 1900-01-01 00:00:00 2010-06-24 03:45:00 1 "X" "Y" ...
151 2 2010-06-24 03:45:00 2199-12-31 23:59:59 1 "X2" "YYY" ...
それも良さそうです。しかし、前回以降にデータセットに追加されたレコードについては、date_from='1900-01-01 00:00:00' で追加されます。(考えてみると、最初の読み込みで date_from='1900-01-01 00:00:00' も使用されたのは少し奇妙です。)
システムの現在の日時であると主張するデフォルトの開始日を使用していますが、「start_trans」(「変換の開始日」)も試しましたが、9時間前のタイムスタンプを使用することを除いて同じことを行いました(1899 年 12 月 31 日)。
すべての新しいレコードに 1900 を使用する意味がわかりません。最初からすべての新しいレコードが存在しているように見えるため、いつ何が追加されたのかわかりません。私は Kimball の本でタイプ 2 を調べましたが、それほど明示的ではありませんでしたが、新しく挿入された値は、有効になり始めた時点から date_from を持つ必要があることを示しているようです。
これは PDI のバグですか? 回避策はありますか? 私の使い方が悪いだけでしょうか?タイプ2の全体のポイントを誤解していますか?
ありがとう!