維度表維度值變化處理-SCD

維度緩慢變化稱為SCD,對每個維度表的屬性,都需要考慮為其定義處理變化的策略。

類型0 保留原始值

維度屬性絕對不會變化,SCD稱其為類型0

類型1 重寫

對類型1來說,需要重寫維度行中的舊值,以當(dāng)前值替換,屬性變化始終反映最近情況。這是應(yīng)對維度變化最簡單的方式,不需要觸碰事實表。

問題:無法記錄歷史值,且若回溯數(shù)據(jù)則會造成影響。

類型2 增加新行

由于DW/BI的目標(biāo)之一是正確表示歷史,所以類型2可以滿足此需求。維度變化時增加新行,同時記錄生效失效時間。是精確跟蹤緩慢變化維度屬性的主要技術(shù),當(dāng)不能完全確定某一屬性SCD業(yè)務(wù)規(guī)則時采用此方法是安全的,還可以提供類型1的重寫。

問題:無法確保能夠?qū)⑿聦傩院瓦^去的歷史時間關(guān)聯(lián)起來。

類型3 增加新屬性

增加新維度列記錄新維度,內(nèi)涵是認為過去與現(xiàn)在的值都是正確的。

適合應(yīng)用于某個變化引起維度表大量行變化的情況,或者變化可預(yù)測且需要基于任意歷史值匯總放入場景。

問題:應(yīng)用場景極少

類型4 增加微型維度

適用于變化頻度較高,維度表數(shù)據(jù)量很大的場景。建立微型維度表,包含各個維度和一個維度自然鍵,表里存了這些維度的所有可能場景,對于維度值太多的情況可以進行范圍分組分為積累,如金額分為0-1000,10000-2000,>2000三類。在事實表中則需要存儲微型維度表的維度自然鍵和客戶主鍵,以避免產(chǎn)生較大的維度表。

問題:對維度的粗略分類存在問題,因為沒有存明細。

類型5 增加微型維度及類型1支架

用于精確保證歷史屬性值。采用重寫的方式把這部分易變的屬性分表為單獨的表,并且存儲基維度和微型維度,采用類型1的方式重寫微型維度

類型6 增加類型1屬性到類型2維度

保存歷史和當(dāng)前維度屬性值。對歷史數(shù)據(jù)進行類型2的增加新行,對于當(dāng)前數(shù)據(jù)進行類型1的重寫。也就是說數(shù)據(jù)需要保存時間字段,不論是生效時間失效時間還是DT,都是需要保存,然后如果要修改,那么針對特定關(guān)聯(lián)的所有屬性行進行重寫

類型7 雙類型1和類型2的維度

類型1僅展示當(dāng)前屬性,類型2展示最新歷史概要。在事實表存儲了自然鍵和持久鍵,當(dāng)前屬性通過持久鍵和事實表關(guān)聯(lián),歷史屬性通過自然鍵和事實表關(guān)聯(lián)。即相當(dāng)于在事實表增加一個鍵關(guān)聯(lián)拿到歷史上的最新維度,而原有的外健關(guān)聯(lián)當(dāng)前維度表獲取當(dāng)前維度。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容