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等等;
- 整个知识库的备份与恢复在知识库服务器管理平台中进行;