[SSIS]緩時變維度

  • 3768
  • 0

摘要:[SSIS]緩時變維度

最近試做IS的一個工具元件-緩時變維度

如下圖所示


其實書上也沒有解釋太多,看完了也是有看沒有懂…

所以就直接試拉看是怎麼回事

原本是照書上這樣拉

就是連OLEDB命令、衍生的資料行、聯集都全部一個一個設定

結果等到後來才知道原本只要設定好緩時變維度元件

其他的元件都會自動長出來

一開始就先拉來源、再加上緩時變維度

設定緩時變維度屬性,選擇要轉入的資料表

這裡還需設定商務索引鍵跟非索引鍵資料行

這裡的商務索引鍵簡單來說就是來源跟目的要相比較所依據的Key值

比如說轉入員工的資料,設定公司跟工號為商務索引鍵,

所以會依據設定的Key做為來源跟目的做比較

去找到相同Key但資料有改變(UPDATE)或是找不到該Key(INSERT)

而非索引鍵就是要比較是否有更改的資料

比如來源人員的組織跟目的地的組織有差異

就表示該名員工有單位異動,有設定才會觸發(UPDATE)或(INSERT)的動作

接下來就要設定這些欄位有異動時,是直接更新資料或是再新增一筆異動後的資料以保留變更的歷程

若是歷程記錄屬性,則原本的資料表就必需新增一起迄欄位(SDATE、EDATE)

用來記錄該筆資料異動的過程

再來就是要設定識別記錄的欄位

注意:在這裡可以設定的欄位就是剛剛沒有作商務索引鍵及變更類型的設定才有辦法選得到喔~

可以選擇是只用一資料行(設Flag)的方式或是用起迄時間來記錄

然後IS就會幫你產生其他所需的元件

 

最後分享一下

在實作上有遇到了一個問題

若是來源跟目的的資料型態有落差

就不會幫你產生該有的元件

像遇到的問題就是來源是[datetime]的型態

但是目的是[datetime2]的話就會有問題

所以還需特別注意使用緩時變維度時資料型態轉換的問題