我正在嘗試使用Pentaho數據集成/ Pan來創建類型2(SCD)表。「尺寸查找/更新」:類型2 SCD的date_from值?
後,我跑了通過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,雖然它不是超顯式的,但它似乎表明新插入的值應該從它們開始有效的日期開始。
這是PDI中的錯誤嗎?有沒有解決方法?我只是用它錯了嗎?我誤解了2型的整個觀點嗎?
謝謝!
在Pentaho壺中使用維度查找/更新步驟:http://www.joyofdata.de/blog/handling-scd-type-2-using-dimension-lookup-update-step-in-pentaho-kettle/ – Raffael 2014-06-03 08:40:00