緩慢變化維SCD筆記

2021-06-17 14:24:21 字數 795 閱讀 5759

blog、論壇裡的乾貨很多,但是很多看過即忘,唯有實踐出真知。所以先總結下吧。

1.scd定義:建模的過程中,經常會遇到slowly changing dimensions,緩慢變化維,或稱為漸變維,scd。

2.scd應用的原因:實際的業務環境裡,維度的屬性並不是靜態不變的,它會隨著時間的發展發生緩慢的變化。打個最通用的比喻,銷售人員維度,部門作為其乙個屬性,但是人員會換部門的,那麼這個欄位就會在業務系統中被刷,如果銷售員甲在2023年3月從銷售一部轉到銷售二部,那麼他自身的業績歸屬到部門的統計,通常會有不同的口徑需求。

3.處理scd的方式:

--方式一:直接用最新值,覆蓋就有值。等於是忽略了歷史的變化。拿上面銷售人員的例子來說,銷售員甲2023年3月以前的業績,也會歸入到銷售二部。

--方式二:記錄歷史,以有效期起和止來標示當前有效。這樣的情況下,需要結合**鍵,因為乙個維度成員,會有若干行記錄,這種情況下,表結構可以類似於:key, code, name, 有效期起, 有效期止, 當前有效?這種情況下,可以將上例中銷售員甲的轉部門前的業績歸入到其當時歸屬的部門。

--方式三:記錄當前和最近幾次的歷史,這種處理方式實際上很少使用。

--其它方式:

另外,還會有一些非主流的處理方式,譬如不覆蓋,或者說1、2、3方式結合,成為type 6的,等等。

實際的處理,需要理論結合實際,實際,指的是客戶的需求和工具的支援度。

客戶如果能接受覆蓋,這是最容易處理的方式。

否則,就要調研關注變化的屬性。

etl工具中,有些可以支援從源系統表生成type 2的元件,但是用起來好像也不是太好用。

緩慢變化維

一.什麼是緩慢變化維?緩慢變化維 slowly changing dimensions,scd 它的提出是因為在現實世界中,維度的屬性並不是靜態的,它會隨著時間的流失發生緩慢的變化。這種隨時間發生變化的維度,一般被稱為緩慢變化維 並且把處理維度表的歷史變化資訊的問題稱為處理緩慢變化維的問題,有時也簡...

緩慢變化維

緩慢變化維 在維度建模的資料倉儲中,通常會有乙個概念叫slowly changing dimensions,譯為 緩慢變化維 經常會被簡寫為scd。緩慢變化維的提出是因為在實際中某些情況下,維度的屬性並不是靜態的,它會隨著時間的流失發生緩慢的變化。這種隨時間發生變化的維度我們一般稱之為緩慢變化維。處...

緩慢變化維

緩慢變化維 維度建模的資料倉儲中,有乙個概念叫slowly changing dimensions,中文一般翻譯成 緩慢變化維 經常被簡寫為scd。緩慢變化維的提出是因為在現實世界中,維度的屬性並不是靜態的,它會隨著時間的流失發生緩慢的變化。這種隨時間發生變化的維度我們一般稱之為緩慢變化維,並且把處...