上次我們理解了維度表,哪什么是緩慢變化維呢,比如我們有這樣的一個場景, A 客戶在 4 月份的時候歸屬于 X 部門,在 5 月的時候歸屬于 Y 部門,如果 A 客戶的銷售額需要體現(xiàn)歸屬部門的變化關(guān)系。此時就需要用到緩慢變化維了。如下圖就是對客戶表的一個緩慢變化。


上面設(shè)計就是對每個月把客戶生成一份數(shù)據(jù),但如果我們的客戶有 100 萬個呢,每月生成一份,一年后就有 1200 萬了,這樣導(dǎo)致數(shù)據(jù)量會很大,在關(guān)聯(lián)的時候會嚴(yán)重影響性能。哪么我們就需要用緩慢變化維的設(shè)計方案了,采用代理鍵方案來達(dá)到最少數(shù)據(jù)量。如下圖:

我們通過對客戶表的開始日期和結(jié)束日期框定每個客戶的當(dāng)前版本,然后落地數(shù)據(jù)時把客戶的代理鍵帶上,這樣以后在做數(shù)據(jù)分析時,如果結(jié)果表帶的客戶維度信息不全,就可以直接用代理鍵關(guān)聯(lián)客戶維表帶出需要的維度,如果此時沒有代理鍵做關(guān)聯(lián),采用客戶代碼做關(guān)聯(lián),就會出現(xiàn)數(shù)據(jù)笛卡爾積,如下圖,當(dāng)我們需要對結(jié)果表增加客戶的“歸屬部門名稱”時,有“代理鍵”信息時,則直接按代理鍵做關(guān)聯(lián)條件帶出客戶維表里的“歸屬部門名稱”信息,如果按“客戶代碼”關(guān)聯(lián),則會導(dǎo)致數(shù)據(jù)翻倍,見紅色數(shù)據(jù)記錄, 4 月的由 100 變化到 200 了, 5 月份的 200 變化到 400 了,不然就需要重新計算每個月的數(shù)據(jù)才能達(dá)到增加“歸屬部門名稱”信息的目的。

生成緩慢變化維的 SQL 代碼見 :
https://github.com/blt328/dw_blt
更多技術(shù)文章請關(guān)注公眾號 ( 長按后點識別圖中二維碼 ):

新聞標(biāo)題:3-dw_緩慢變化維-創(chuàng)新互聯(lián)
文章路徑:http://chinadenli.net/article46/dijoeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站營銷、微信公眾號、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容