记录关联(笛卡尔输出)
这个步骤允许你组合步骤中所有的行。
1、 临时目录:如果你想更多的行,指定系统存储临时文件的目录。 2、 最大缓存大小:系统从临时文件读取数据的缓存大小。 3、 读取的主要步骤:指定读取最多数据的步骤名称。 4、 条件:你可以指定复杂的条件来限制输出行数。
数据库连接
这个步骤允许你使用先前的步骤的数据,运行一个数据库查询。 能够指定查询参数: 在sql查询中用“?”,运行查询时使用数据网格中的数据。
1、 Number of rows to return :0代表所有行,其他数字限制行的输出。 2、 外连接?:选中,则总会返回一个结果,就算查询脚本没有结果。 3、 获取字段:获取来自上一个步骤的数据。
合并记录
这个步骤允许你比较两个行流。如果你想在两个不同时间比较数据,这是非常有用的。它常被用于数据仓库源系统没有包含最后更新日期的情况。两个行流被合并,一个是引用流(旧数据),一个比较流(新数据)。每次都是行的最后版本通过下一个步骤。行有以下标记:
21 / 42
1、 “identical”:关键字在两个流中都存在,并且值相同。 2、 “changed”:关键字在两个流中都存在,但是一个或者更多的值不同 3、 “new”:引用流中没有找到关键字。 4、 “deleted”:比较流中没有找到关键字。
比较流中的数据进入下一步骤,除非在“删除”的情况。
排序合并(Sorted Merge)
这个步骤合并来自多个输入步骤的数据行,并且这些行用指定的关键字排序。包括以下选项: 1、 字段:指定排序的关键字段。
Merge Join(合并连接)
这个步骤将来自两个不同步骤输入的数据执行一个高效的合并。合并选项包括Inner、left outer、right outer、full outer。
备注:这个步骤将输入的行按指定的字段存储。连接时连接字段必须有序。
22 / 42
Java Script值(Modified Java Script Value)
这个步骤允许你用JavaScript语言做复杂的运算,改进的js效率更高,更易用。 1、 插入字段:插入字段及字段的值。 2、 测试脚本:测试脚本的语法。
3、 获取变量:获取最新的变量并且插入到“字段”网格中 4、 js函数见附录1。
改进的js针对可用的脚本、函数、输入字段和输出字段,提供一个树菜单浏览。 1、 Transformation Script:展示你在步骤中创建的脚本列表。 2、 Transformation Constants(转换常量):一个包含
SKIP_TRANSFORMATION,ERROR_TRANSFORMATION,CONTINUE_TRANSFORMATION等静态常量的列表。
3、 Transformation Functions:包含多种String,Numeric,Date,Logic以及特殊函数,你可
以在创建脚本的时候使用它。
4、 Input fields:步骤输入字段列表。双击或者拖拉可以将字段插入到你的脚本中。 5、 Output fields:步骤输出的字段。
执行SQL语句
这个步骤中你可以执行sql脚本(执行增删改脚本DDL等),或者在转换初始化的时候执行,
23 / 42
或者在步骤的每一个输入行执行。
1、 执行每一行:读取上一步骤传来的每一行时都执行一次sql脚本。 2、 参数:用来给sql中的“?”赋值。
3、 包含插入状态的字段:该字段值为执行sql语句插入的行数。 4、 包含更新状态的字段:该字段值为执行sql语句更新的行数。 5、 包含删除状态的字段:该字段值为执行sql语句删除的行数。 6、 包含读状态的字段:该字段值为执行sql语句读数据的行数。
注意:该步骤主要用来对数据进行增、删、改,执行对数据的查询操作,使用“表输入”步骤(可以执行任何查询语句,包含连接、分组、排序等)。 例子:
Execute row SQL script
上一个步骤某字段中存储有sql语句,从该字段获取sql语句执行。
24 / 42
维度更新/查询
联合更新查询
这个步骤允许你在一个junk-dimesion 表里存储信息。
25 / 42