覆盖主要内容
版本: 6.1.0

根据 Java 代码过滤记录

组件介绍

**“根据 Java 代码过滤记录”**组件允许用户定义Java表达式来对输入数据进行过滤,来自一个或多个步骤的输入数据可以基于表达式评估后重定向到两个不同的输出步骤。也就是说,用户可以通过执行if语句来用纯Java表达式过滤记录。


  • **输入:**前一步骤的输出数据
  • **输出:**根据Java条件判断输出的数据
  • **参数:**Java表达式

页面介绍

运行**“根据 Java 代码过滤记录”**组件得到下图所示的界面。

参数选项

**“根据 Java 代码过滤记录”**组件页面包含如下选项:

选项说明样例值
步骤名称画布上指定**“根据 Java 代码过滤记录”**步骤的唯一名称,可以自定义名称或保留默认名称。根据 Java 代码过滤记录
接收匹配的行的步骤(可选)选择接收使表达式的值为true的行的步骤。
接收不匹配的行的步骤(可选)选择接收使表达式的值为false的行的步骤。
条件(Java表达式)填写自定义Java表达式。true

使用案例

这里我们先拖入**“表输入”**组件用于数据输入,我们这里以教师数据表作为示例,在教师数据表中对教师id定义Java表达式,将大于等于5的和小于5的教师id分别输出到不同的两个步骤,如下图所示。

先预览表输入的数据。如下图所示:

在根据Java代码过滤记录组件中填写如下图所示:

项目执行成功后,预览空操作得到的结果。 空操作 (什么也不做):

空操作 (什么也不做) 2:

如上图所示,可以看到对应的输出结果正如根据Java代码过滤记录组件中Java表达式定义的一样。

使用案例二

可以通过这个步骤直接写Java表达式,在转换启动后,这些Java表达式会被编译成Java代码。相对于脚本步骤,这个步骤的性能更高。选取例子简单展示,根据Java代码过滤记录。

  • 新建转换,首先需要一些输入数据,将自定义常量数据拖至画布,并添加一些数据。双击组件,步骤名称默认,在“元数据”中先定义【Name】列并选择好数据类型,输入测试数据,如下图所示:

  • 获取系统信息拖至画布,设置获取【today】为"系统日期(可变)"
  • 计算器拖至画布,添加如图所示公式作为计算【age_in_years】字段的条件

  • 根据Java代码过滤记录拖至画布,设置如下过滤条件,并且true步骤发送给Young,false步骤发送给Old

(5)、完整转换如下图所示:

(6)、运行转换,结果如下图所示:

(7)、点开Young,Old预览可以看出数据已经正确分类。