320 likes | 453 Views
時間維度設計. 時間維度. 多維度分析中,最重要的維度就是時間。 企業所有的資訊會隨著時間的遞移而儲存。 設計適合的時間維度是進行跨時分析最重要的基礎。. 時間維度設計模式. 使用現有的資料表 最複雜但也最具彈性。 在資料來源中產生時間資料表 系統會自動產生維度表。 沒有中文的範本,無法處理假日問題。 在伺服器上產生時間資料表 最簡便,但不會產生維度表。 沒有中文的範本,無法處理假日問題。. 使用現有的資料表. 先在時間資料表建立具名查詢. 有些企業每個月的第一天並不是 1 號. 新增維度. 將屬性類型都改為日期 之後按下一步→完成。.
E N D
時間維度 • 多維度分析中,最重要的維度就是時間。 • 企業所有的資訊會隨著時間的遞移而儲存。 • 設計適合的時間維度是進行跨時分析最重要的基礎。
時間維度設計模式 • 使用現有的資料表 • 最複雜但也最具彈性。 • 在資料來源中產生時間資料表 • 系統會自動產生維度表。 • 沒有中文的範本,無法處理假日問題。 • 在伺服器上產生時間資料表 • 最簡便,但不會產生維度表。 • 沒有中文的範本,無法處理假日問題。
使用現有的資料表 先在時間資料表建立具名查詢 有些企業每個月的第一天並不是1號
將屬性類型都改為日期 之後按下一步→完成。
若在建立時沒有改到屬性類型, 可以在建立好後, 在屬性視窗修改Type。 各維度屬性的屬性類型
將屬性拉到階層, 若是怕名稱相同會混淆,可以重新命名。
處理維度後,可以在瀏覽器中檢視, 這時會看到工作日的部分, 第一天改為當月第1個營業日2號。
變動維度設計 • 一般維度 • 維度階層關係及資料內容不太會去改變。 • 例如:員工性別。 • 緩時變維度 • 維度階層關係及資料內容的改變次數不多,或是變更的幅度有限。 • 例如:組織架構、人事變動。 • 快時變維度 • 維度階層關係及資料內容改變次數很頻繁。 • 例如:客戶信用卡餘額、存款餘額。 ★這是以資料變動作為標準,新增並不能算是變動的範圍。
緩時變維度 • 類型1:緩時變維度(Type 1 SCD) • 資料異動時,直接將新資料覆蓋舊資料。 • 最容易進行,但無法掌握資料變動歷程。 • 類型2:緩時變維度(Type 2 SCD)(建議使用) • 資料異動時,自動在維度資料表中加入新資料。 • 可以掌握資料變動歷程,但破壞了主索引鑑的唯一性,必須產生新的索引鍵(替代索引鍵)判斷。 • 類型3:緩時變維度(Type 3 SCD) • 資料異動時,增加一個欄位存放變更的資料。 • 無法掌握詳細的變動歷程及時間點。
Type 1 SCD • 開啟SSIS • 在方案總管的資料來源新增一個來源 • 再連接管理員新增從資料來源的連結(右圖) • 在控制流程加入資料流程工作
在資料流程工作內加入OLEDB來源,設定資料來源(左圖),再加入緩時變維度在資料流程工作內加入OLEDB來源,設定資料來源(左圖),再加入緩時變維度 在緩時變維度圖示點兩下進入編輯(右圖)。 商務索引鍵:原始資料的維度主索引鍵。
系統會根據商務索引鍵自動判斷非商務索引鍵攔位的異動。並設定變動處理的基準(左圖)。系統會根據商務索引鍵自動判斷非商務索引鍵攔位的異動。並設定變動處理的基準(左圖)。 勾選變更屬性後(右圖),當來源資料發生異動時,系統會自動更新設為變更屬性的欄位(上圖)。
推斷成員:指資料在比對異動的過程中,發生索引鍵遺漏而無法比對。可以透過兩種模式處理:推斷成員:指資料在比對異動的過程中,發生索引鍵遺漏而無法比對。可以透過兩種模式處理: • 所有具有變更類型的資料行皆為null:將所有變動的欄位更新為空值。 • 使用布林資料行已指出目前記錄是否為推斷的成員:指定欄位讓系統注記該筆資料是否為推斷成員。
設定完成後,會自動產生處理流程(下圖)。 • 新輸出:索引鍵不存在,則插入維度表。 • 變更屬性更新輸出:索引鍵存在,則透過更新語法覆寫。 • 推斷的成員更新出:索引鍵為空值,則根據更新語法處理
Type 2 SDC • 開啟SSIS • 在方案總管的資料來源新增一個來源 • 再連接管理員新增從資料來源的連結 • 在控制流程加入資料流程工作 • 在資料流程工作內加入OLE DB來源及緩時變維度 • 編輯緩時變維度(右圖)
系統會根據商務索引鍵自動判斷非商務索引鍵攔位的異動。並設定變動處理的基準(左圖)。系統會根據商務索引鍵自動判斷非商務索引鍵攔位的異動。並設定變動處理的基準(左圖)。 因為類型2要記錄歷史變動值,所以要將變更類型設為歷程記錄屬性(上圖),並設定記錄屬性(右圖)。
★兩次異動時的日期要不同一天。 設定完成後,會自動產生處理流程(下圖)。 • 新輸出:索引鍵不存在,則插入維度表。 • 變更屬性更新輸出:索引鍵存在,則透過流程產生結束時間,與新輸入資料流合併插入維度表。 • 推斷的成員更新出:索引鍵為空值,則根據更新語法處理
編輯衍生的資料行1,新增替代索引鍵的衍生欄位(左圖)。編輯衍生的資料行1,新增替代索引鍵的衍生欄位(左圖)。 在插入目的地中,將新產生的SURROGATE_KEY對應至要插入的欄位(右圖)。
先用員工名稱+部門名稱產生具名計算欄位員工_部門先用員工名稱+部門名稱產生具名計算欄位員工_部門
然後在建立維度時,設定屬性類型(左圖),之後設定各維度屬性的屬性(下圖)然後在建立維度時,設定屬性類型(左圖),之後設定各維度屬性的屬性(下圖)
部屬好維度要處理前,先變更設定(右圖與下圖),否則會因為索引鍵重複而處理錯誤。部屬好維度要處理前,先變更設定(右圖與下圖),否則會因為索引鍵重複而處理錯誤。
在來源資料庫修改林志玲為業務副理,執行SSIS後的結果如下圖。在來源資料庫修改林志玲為業務副理,執行SSIS後的結果如下圖。
快時變維度 • 由於資料異動的頻率遠高於資料倉儲資料更新的頻率 • 將倉儲資料更新頻率縮短至能夠將快時變維度作為像緩時變維度一樣 • 將會造成倉儲資料更新的嚴重負擔,也會使得變動歷程急速膨脹。資料儲存與管理不便! • 需忍受無法精確掌握變動歷程 • 資料變動的過於快速,無法精確地去追蹤變動歷程