首先在 Object Library 中切換至 Formats 頁籤,在 Object Library 空白處點選右鍵,選取 New 再選取 File Format。
在 General 中,選定 Type 為 Delimited,並修改 Name 為可判別的名稱,存檔後即無法修改。但我們可以複製已儲存的 Plat File ,再修改其檔名。
在已建立好的 Plat File 上按右鍵,點選 Replicate,會複製一份,再修改其 Name 後儲存即可。
在已建立好的 Plat File 上按右鍵,點選 Replicate,會複製一份,再修改其 Name 後儲存即可。
在 Data Files(s) 中將 File name(s) 點選資料夾的圖示來指定檔案位置。
可在 Defult Format 中修改 Date 的格式為 ddmmyyyy ( 依資料的格式來設定 )。
第一列包含了欄位名稱,所以在 Input/Output 中,修改 Skip row header 為 Yes 。
在右上方的 Column Attributes pane 中,點選 DateOpen 並改變 Data Type 為 Date。
設定輸出格式,對於數值或日期的資料型別欄位,可以在 Format 欄位設定。
日期格式可以自行定義於 Format 欄位中如下
- yyyy.mm.dd
- mm/dd/yyyy
- dd.mm.yy
以上定義好要匯入的檔案格式後,要進行 Data Flow 的設計。
先在 Object Library 中切換至 Formats 頁籤後,將來源資料文字檔拖拉至工作區。會出現一個 shortcut menu ,點選 Make Source 將其設定為來源資料。
拖拉至工作區的 Flat File Template 不論是當 Source 或 Target ,都可點選它開啟修改部分屬性。例如修改檔案的路徑及名稱;但 Source 和 Target 的屬性有些不同。
若一次要讀取多個檔案,可設定 Root directory 指定其目錄。在 File name(s) 的屬性地方
- 使用逗號分隔開每個檔案名稱。
- 檔名中包含通用字元 ( * 或 ? )。如 *.txt 或 2012????.txt
再將工具列中的 Query Transform 按鈕拖拉至工作區,之後在 Object Library 切換至 Datastor 頁籤,將目標資料庫中的資料表 ( 要儲存文字檔資料的資料表 ) 拖拉至工作區,並在 Shortcut Menu 中點選 Make Target。
拖拉出資料流的順序。
在 Datastore 資料表分為 Tables 和 Template Tables 兩種,在圖示的表示上也有所不同。
Tables 內的資料表,必須在資料庫中建好後 Import 進入 Datastroe;而 Template Tables 可以在執行 Job 時系統自動建立。因此,若目標資料表是建立 Template Tables 中的話,可以直接點選「Template Tables」後拖拉至工作區,並在 Create Template 的對話方塊中輸入 Table name 即可作為目標資料表。若已建立好的資料表,可以在 Tables 或 Template Tables 下選擇目標資料表。
在 Template Tables 內的資料表,只能當為目標資料表;而 Tables 內的資料表可以當成來源資料表或目標資料表。
拉好資料流程後,再來需要定義 Query Transform 對應來源及目標資料表。點選 Query Transform 圖示兩下。
- A區:Target schema
- B區:Source schema
- C區:Query options
- D區:Column mapping definition
將 Schema In 的欄位點選後拖拉至 Schema Out 所對應的欄位後,即完成對應關係,且欄位名稱前的圖示會改變,才表示有對應。在下方也可以看到 Mapping 頁籤中有對應的欄位名稱。
點選工具列上的 Validate Current 按鈕,來檢查是否有錯誤。Output 視窗會顯示 Error、Warnings、Information。
在 Validation 選單上是提供設計時期的檢查,檢查語意有無錯誤,而不是執行時期錯誤。修正相關錯誤後,即可在 JOB 上按右鍵,選取 Execute。
若是將 Plat Files 當成 Target,可以不用指定欄位及其資料型別。
在設計時期,可將來源的 Plat File 放在本機上,但在 JOB 執行時期,必須放在執行 JOB 的主機上。若 Plat File 是放在執行 JOB 的伺服器上時,可以指定 Data File(s) 的 Location 為 JOB Server。
預設是使用逗號為分隔符號,也可使用下拉 Delimiters 的 Column 屬性選取,或直接輸入要使用的分隔符號。
若對 Source File 中有特殊標記的資料列要忽略的話,要設定 Ignore row marker(s) 預設為 {none} ,表示不忽略,可自行輸入在資料列前的特殊標記。但不能與分隔符號相同。
若輸入「abc」 表示 abc 開頭的資料不處理;「abc;def;hi」表示 abc 或 def 或 hi 開頭的資料不處理。
Data Services 可以使用 parallel threads 來增加處理讀取及載入檔案的效能。輸入數值為 Thread 的個數。
沒有留言:
張貼留言