4 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——覆蓋方式
此種方式是緩慢變化維中最簡單的一種,它用於保證資料倉儲中的資料為當前的最新值,不保留歷史資料,如發現資料倉儲中當前資料已為舊資料,則對當前已有記錄進行值更新,主鍵值不變,如發現有新資料,則把新資料載入到資料倉儲中,並賦予新的代理主鍵值。
3.3實現
覆蓋(Type 1 Dimension -- keep most recent values in target)
3.3.1.1原理
此種方式是緩慢變化維中最簡單的一種,它用於保證資料倉儲中的資料為當前的最新值,不保留歷史資料,如發現資料倉儲中當前資料已為舊資料,則對當前已有記錄進行值更新,主鍵值不變,如發現有新資料,則把新資料載入到資料倉儲中,並賦予新的代理主鍵值。通俗地說,就是指對於源表中的同一條資料,目標(資料倉儲)中始終只會保留一條,也就是最新的一條,一旦第一次插入後,資料就存在了,其在維表中的ID(代理主鍵)就不再改變了,發生資料改變時,只對其欄位作Update操作。
這種方式在確認資料的歷史不需要記錄,只需保留當前最新資訊的時候使用。
CREATE TABLE t_dem_xxx ( ID VARCHAR(20) NOT NULL, Name1 VARCHAR(50), Name2 VARCHAR(50), CONSTRAINT PK_t_dem_xxx PRIMARY KEY (ID) ) go
CREATE TABLE t_tmp_xxx ( ID VARCHAR(20) NOT NULL, Name1 VARCHAR(50), Name2 VARCHAR(50), CONSTRAINT PK_t_tmp_xxx PRIMARY KEY (ID) ) go
CREATE PROCEDURE p_dem_xxx AS --維度抽取儲存過程 BEGIN DECLARE @num NUMERIC(10,0) SELECT @num = COUNT(*) FROM t_dem_xxx
--如果原表為空,構造預設值 IF @num = 0 BEGIN INSERT INTO t_dem_xxx (ID,Name1,Name2) SELECT '-2','NULL值','' INSERT INTO t_dem_xxx (ID,Name1,Name2) SELECT '-1','缺失外來鍵','' END
--根據主鍵插入在維度表中找不到的基礎資料 INSERT INTO t_dem_xxx ( ID , Name1 , Name2 ) SELECT a.ID,a.Name1,a.Name2 FROM t_tmp_xxx a LEFT OUTER JOIN t_dem_xxx b ON a.ID = b.ID WHERE b.ID IS NULL
--根據主鍵更新原基礎表中變化的各屬性欄位 UPDATE t_dem_xxx SET Name1 = a.Name1, Name2 = a.Name2 FROM t_tmp_xxx A,t_dem_xxx B WHERE a.ID = b.ID AND b.ID NOT IN ('-1','-2')
END |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-145438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——全歷史記錄
- 2 關於資料倉儲維度資料處理的方法探究系列——無變化維度處理
- 6 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——記錄最新記錄及上
- 9 關於資料倉儲維度資料處理的方法探究系列——雪花維
- 7 關於資料倉儲維度資料處理的方法探究系列——急劇變化維概述
- 1 關於資料倉儲維度資料處理的方法探究系列——維的概述
- 資料倉儲中維度變化和事實變化的處理方法
- 維度處理-資料倉儲-讀書筆記(四)筆記
- 資料預處理–資料降維
- 資料庫變慢的處理過程資料庫
- 處理多維度變化——橋接模式(四)橋接模式
- 處理多維度變化——橋接模式(三)橋接模式
- 處理多維度變化——橋接模式(二)橋接模式
- 處理多維度變化——橋接模式(一)橋接模式
- 資料倉儲維度建模入門
- 資料倉儲維度建模筆記筆記
- 處理資料庫慢的一般方法資料庫
- 關於一類資料處理
- 【資料倉儲】|3 維度建模之維度表設計
- 【資料倉儲】|4 維度建模之事實表設計
- 理解維度資料倉儲——事實表、維度表、聚合表
- 關於裸裝置資料的處理
- 關於丟失表空間資料檔案的處理方式
- DELETE TABLE資料後,查詢變慢,問題處理delete
- 大資料三種處理方式大資料
- FreeBSD資料處理方式(轉)
- 關於 Eloquent ORM 對資料處理的思考ORM
- Python資料處理(二):處理 Excel 資料PythonExcel
- 處理恢復資料方法
- 資料處理
- 資料預處理-資料整合與資料變換
- 處理百萬級以上的資料處理
- DataStage系列教程 (Slowly Changing Dimension)緩慢變化維AST
- 資料庫響應慢問題處理資料庫
- 支付類系統資料處理和資料中臺的資料處理方式有什麼不同?
- Spark叢集資料處理速度慢(資料本地化問題)Spark
- ETL中後設資料處理的方式
- 快手關於海量模型資料處理的實踐模型