我有一個Employee維度,我使用SCD和Surrogate鍵來跟蹤隨着時間的變化。帶有代理鍵本身的維度(數據倉庫)
員工的業務系統的關鍵:僱員
員工代理鍵:EmployeeSCDKey
我想有隨時間跟蹤管理信息也是如此。管理者是員工和其他人一樣,因此,我想在我的員工層面有像這樣一個ManagerSCDKey柱:
例子:
這是我面臨的問題雖然。箭頭顯示從一個變換到下一個變換的邊界。如果管理器更改了作業(或其他類型2 SCD字段)併爲其創建了新的代理鍵,則直到下一次轉換維時纔會識別該更改。
由此我的意思是紅色的行不會出現,直到第二次轉換,所以與此時與Joe相關的任何事實行都會過時管理器信息。
我猜它歸結爲:
有沒有一種方法,使這種模式的工作原理? (尺寸有自己的鑰匙?)
或者是否有更好的實踐方式來完成相同的任務?我寧願不維護與員工維度非常相似的經理維度,但如果這是最佳做法,那就這樣做吧。
最佳做法是爲經理提供另一個維度。在同一維度維護2個SCDKeys會很麻煩。請參閱以下鏈接中的另一種方法:http://blogs.adatis.co.uk/simonwhiteley/post/Slowly-Changing-Parent-Child-Dimensions-Part-1-The-Theory – MayowaO