1.1 Designer Manager
1.1.1 Source
1. 可以在Source Analyzer 中定義四種類型的Source:Relational(Table , View, Synonym), Flat File(定長或者定界符分隔的文本文件), XML File,COBOL Files;
2. Relational Source的定義通常是通過ODBC來導入的;
3. Flat File的定義通常是通過Wizard分析來源文本文件確定的;
4. 以上兩種Source可以通過Data Previewer查看數據;
5. 也可以手工創建或者更改Source的定義;
1.1.2 Target
- 在Warehouse Designer中創建Target的方法有下面一些:從數據庫導入,從文件導入,手工創建,從Source複製;
- 有三種Target:Relational, Flat File, XML File。
- 可以根椐Target的定義生成腳本用ODBC連接目標數據庫創建實際的物理表;
1.1.3 Transformation
- 以下是常用的Transformation功能的簡單的描述,第四課有相關用法的詳細說明
Source Qualifier 從文本文件或者數據庫讀取數據;
Normalizer 行列轉換,將一條記錄的多列轉成多條記錄的一列;
Aggregator 執行統計操作;
Union 合併多個數據流;
Router 將一個數據流分成多個數據流;
Expression 計算表達式;
Filter 過濾數據;
Sorter 排序數據流;
Update Strategy 確定更新策略(插入,更新,刪除,拒絕);
Lookup 根椐輸入值到指定數據源中查找匹配記錄並返回某個或某些欄位(分爲連接的和非連接的);
Joiner 連接多個數據流;
Sequence Generator 產生序列號
Transaction Control 控制事務
Rank 等級,取最大或者最小的N行數據(可以按組)
Procedure 存取過程,函數,包.
- Transformation有三種視圖:圖標,正常視圖,編輯視圖
- 表達式編輯器(Expression Editor),函數,校驗(Validation)
- 表達式編輯器用於編輯計算語句或者條件語句;
- 在下面幾種Transformation中出現:Expression,Aggregator,Rank,Router,Update Strategy,Transaction Control;
- 組成元素包括:常量,字符串,操作符,函數,Ports以及Unconnected Lookup的返回值;
- 可用的函數分爲七大類:字符函數,轉換函數,日期函數,數字函數,科學函數,特殊函數和測試函數;
- 點擊OK或者Validation時都會對表達式進行解析驗證;
- In Port ,Variable Port
,Out Port 以及I/O Port
- 只有下面三種Transformation能夠使用變量端口:Aggregator, Expression, Rank;
- 變量端口可以在另外的變量端口中或者輸出端口中引用,在變量端口的表達式中可以引用輸入端口或者其它變量端口;
- 變量端口可以在數據流的不同行間傳遞數據;
- 變量端口執行隱式初始化:數字端口爲零,字符端口爲空字串,日期爲1753-01-01;
- 端口賦值的順序是:輸入端口,變量端口,輸出端口,其中變量端口因爲可能存在相互依賴關係,所以他們出現的順序和結果相關,依照出現的順序進行求值;
- 默認值
- 對於輸入Port以及輸入輸出Port ,默認值用於替代NULL值(系統自動設定的默認值爲空);
- 對於輸出Port ,默認值用於替代表達式計算錯誤(包括數據類型轉換錯誤,計算錯誤如除數爲零,呼叫Error函數)(系統自動設定的默認值是ERROR('transformation error'));比如可以使用
IIF( SALARY < 0, ERROR ('Error. Negative salary found. Row skipped.', EMP_SALARY )或者 IIF(1>0,TO_DATE('20060908','YYYYMMDD'),NULL)之類的表達式來代替ERROR('transformation error')
- 對於變量Port ,沒有默認值;
- 如果默認值設成了Error(‘xxx’),當出現NULL值(輸入或者輸入輸出端口)或者表達式計算錯誤(輸出端口)時,當前行被跳過,並在Session Log中作記錄。
- 用戶可定義的默認值包括NULL,常量,常量表達式,ERROR函數,ABORT函數;
- 有些Transformation的某些端口不允許使用默認值,這時這個欄位無法編輯;
- Source和Target使用對應數據庫的本地數據類型,Transformation使用ANSI SQL-92數據類型,port相連時會發生數據類型隱式轉換,轉換不相容時會發生錯誤,也可以用相應的轉換函數執行轉換。
- Reusable:在Transformation Developer窗口創建的Transformation都是可用重的,在Mapping Designer中創建的默認都是不可重用的,這個屬性只可從不可重用改成可重用;
1.1.4 Mapping
- 要素:每個Mapping至少要有一個Source,一個Source Qualifier 和一個Target ,連接形成一個數據流,不能含有Transformation Error,並且要符合下面的數據流規則和端口連接規則;
- 數據流規則
- 每一個Source Qualifier開始一個數據流;
- Transformation能夠將數據發送給多個transformation;
- Transformation 能夠接受來自多個transformation的數據,如果這些transformation起源於同一個active transformation;
- Joiner和Union可以接受起源自多個active transformation的數據流;
- Port 連接規則:
A. 數據類型相同或者相容;
B. 不能將輸出端口連到非輸入端口上;
C. Source的輸出端口只能連接到Source Qualifier的輸入端口上;
D. 不能將非輸出端口連到其它端口上;
- Mapplet是可重用的Mapping片斷;
- 參數,變量;
A. 參數是Mapping中可以使用的常量,變量在會話成功執行後可以改變並保存在知識庫中供下次運行時使用;
B. 給參數或變量賦值的方法有三種:系統賦默認值,賦初始值,在參數文件中賦值;
C. 參數或變量可以在下列地方使用:表達式,Source Qualifier(Filter ,User Defined Join ,Pre SQL ,Post SQL),Lookup Override Sql;
D. Mapping與Mapplet的參數或變量相互獨立;
1.1.5 對象的導入導出
- 導入導出的中間媒介是XML文件;
- 除了在Designer, Workflow Manager中執行導入導出操作,還可以在Reporsitory Manager中執行導出操作;
- 可以進行導入導出的對象包括:Sources,Targets,Transformations,Mapplats,Mappings,Sessions,Worklets,Workflows,Session Config等等;
- 整個知識庫的備份與恢復在知識庫服務器管理平臺中進行;