• 沒有找到結果。

第五章 花卉資料超市 ETL 系統再設計與實作

5.1 SSIS 元件設定

5.1.2 SSIS 資料流程工作設定

SSIS 提供了相當多樣化的資料流程工作,以下僅說明資料庫封裝與資料超市封裝所使 用的資料流程工作如何設定,常用的資料流程工作如表 5.1。

表5.1 SSIS 資料流程工作

圖示 工作名稱 功能說明

OLE DB 來源 從關聯式資料庫擷取資料,對象不必限定為微軟公司的 SQL Server。

資料轉換 將資料轉換為不同型別,並視為新的資料行輸出。

查閱 將輸入資料與參考資料利用相等聯結(Equi-Join)[30]進行完整比對。

條件式分割 利用條件限制,將輸入資料導向多個輸出。

聯集全部 合併多個資料輸入。

衍生的資料行 使用運算式更新資料的值或新增資料。

緩時變維度 更新緩慢改變的維度。

OLE DB 命令 針對每一資料列執行 SQL 命令。

OLE DB 目的地 將資料匯入關聯式資料庫,對象不必限定為微軟公司的 SQL Server。

33

「OLE DB 來源」透過連接管理員連結至不同資料來源,以取得欲轉換的資料,如圖 5.4(a)。並可從來源資料中直接選取欲使用的資料行進行輸出,以減少後續轉換處理的資料 量,如圖 5.4(b)所示。

(a) 設定連接管理員

(b) 選取資料行 圖5.4 OLE DB 設定

34

「資料轉換」處理資料的型別轉換,並輸出為新的資料列。從圖 5.5(a)可知輸入資料 的型別為 DT_WSTR,也就是 unicode 編碼字串。在「資料轉換」中選取欲轉換型別的資 料,並更改其資料類型與輸出別名,如圖 5.5(b),則輸出後會新增型別轉換後的資料,如 圖 5.5(c)。

(a) 輸入資料型別

(b) 資料轉換設定

(c) 輸出資料型別 圖5.5 資料轉換設定

35

「查閱」比對輸入資料與參考資料的差異,並將相符與不符的資料分開輸出。以供應 單位資料為例,首先連接資料庫,並利用 SQL 語法選取供應單位資料表的代碼與名稱欄位 作為參考資料,如圖 5.6(a);再建立參考資料與輸入資料的欄位對應,如圖 5.6(b),即可利 用欄位分辨相符與不符的資料。

(a) 設定參考資料表

(b) 設定輸入資料與參考資料對應 圖5.6 查閱設定

36

「條件式分割」利用條件式進行判斷,將輸入資料根據不同條件導向多個不同輸出。

條件式由資料行與 SSIS 提供的函數組成,如圖 5.7(a)所示。圖 5.7(a)目的為判斷供應代碼 格式是否正確,其格式錯誤的條件有兩項:(1)代碼為空值(2)代碼位數小於五碼。只要符合 其中一項條件,即被分類至「格式錯誤」輸出;兩項條件都不符合的資料,則被分類至「格 式正確」輸出,輸出結果如圖 5.7 所示。

(a) 條件式輸入畫面

(b) 條件式分割輸出結果 圖5.7 條件式分割設定

37

「聯集全部」將多個輸入合併為一個輸出,如圖 5.8,並可新增或刪除用不到的欄位,

以及更改輸出資料行的名稱。若某個輸入缺少對應的輸出資料行,則會自動補上空值。

圖5.8 聯集全部設定

「衍生的資料行」可新增資料行並根據運算式加入值,也可利用運算式取代原有資料 行的值,然而取代的情況下無法更改資料行的型別或長度,新增的資料行則可修改。運算 式由資料行與函數組成,如圖 5.9。

圖5.9 衍生的資料行設定

38

「緩時變維度」比對現有資料表與輸入資料,針對有資料更動的欄位,可選擇選擇覆 蓋舊資料或新增資料列等緩慢改變維度處理方式。其設定方式如下:首先選擇欲更新的資 料表,將輸入資料與資料表的欄位進行對應,並決定「商務索引鍵」以作為資料對應的參 考,如圖 5.10(a)。

對於對應的資料行,可選擇以下三種處理方式:(1)固定屬性,表示該欄位的值不允許 變更(2)變更屬性,表示以輸入資料行的值覆蓋資料表(3)歷程記錄屬性,表示將有更動的資 料儲存為新的資料列,並在舊的資料列進行標記。最後「緩時變維度」工作將會根據不同 的處理方式產生多個輸出,如圖 5.10(b)。

(a) 設定對應資料表

(b) 緩時變維度輸出 圖5.10 緩時變維度設定

39

「OLE DB 命令」可在指定的資料庫內執行 SQL 命令,並利用輸入資料產生值。如所 示,在 SQL 語法中加入問號,表示該數值由輸入資料提供,再透過資料行對應數值,即可 對資料表執行指令,並使用輸入資料作為數值參考。

(a) SQL 語法編輯

(b) 資料行對應 圖5.11 OLE DB 命令設定

40

「OLE DB 目的地」可將轉換好的資料匯入 SQL Server 資料庫。與「OLE DB 來源」

相同,「OLE DB 目的地」也必須先設定連接管理員,接著進行輸入資料與資料庫欄位的對 應,如圖 5.12 所示。在對應時必須注意輸入資料行與目的地資料行的資料型態是否相同,

不相容的型別會導致錯誤警告。

圖5.12 OLE DB 目的地設定

41 易資料,檔名依序為 SU、BU、PR 與 DTyymmdd,yy 為交易日的民國年份,mm 為月份,

dd 為日期,例如民國 97 年 1 月 1 日的交易資料檔名為 DT970101。原始資料的檔案格式根

相關文件