转换类型:已连接、主动
过滤器转换允许您过滤映射中的行。通过过滤器转换从源转换传递所有的行,然后为转换输入过滤条件。所有过滤器转换中的端口均为输入/输出端口,只有符合条件的行才能通过过滤器转换。
在某些情况下,数据写入目标前需要基于一个或多个条件对其进行过滤。例如,如果您有包含关于当前员工信息的人力资源目标,可能希望过滤出兼职员工和钟点工。
下面的映射通过过滤器转换从包含员工数据的人力资源表传递行。过滤器仅允许薪水为 $30,000 或更高的员工行通过。
使用 SALARY > 30000 过滤器,只有员工薪水高于 $30,000 的数据行可通过到达目标。
作为主动转换,过滤器转换可以更改通过它的行数。过滤条件将根据行是否符合指定条件为通过转换的每行返回 TRUE 或 FALSE。只有返回 TRUE 的行可以通过此转换。被放弃行不会出现在会话日志或拒绝文件中。
要使会话性能最优化,应使过滤器转换尽可能靠近映射中的源。并不是将您准备放弃的行传递至映射,而是在随后从源至目标的数据流中过滤出不需要的数据。 您不能将多个转换的端口连接至过滤器转换。过滤器的输入端口必须来自于单个转换。过滤器转换不允许设置输出默认值。