Java代码段节点的功能是可以让您随心所欲的使用Java编程语言创建一个新的字段或者替代现有字段。在"算法内容"区域编辑代码时,使用$字段名称$ 在代码中添加字段(可以通过双击左侧字段列表中的名称,将其添加到指定位置)。在"返回类型"中选择一个返回类型。下面举两个常用的例子:
示例1,使用 if-else 这样复杂的声明进行转换。下面是一段对一个数值字段进行分箱操作的代码:
if ($宽度$ < 5) {
return "小宽";
} else if ($宽度$ < 15) {
return "中宽";
} else {
return "大宽";
}
示例2,使用java实用程序类的静态方法。如果您想将"类别-A"改为"A":
String name = $类别$.replaceAll("类别-", "");
name = name.toUpperCase();
return name;
另外,也可以使用扩展的Java包。为了添加这些扩展的jar包或者zip文件,可以在"附加库"选项卡中使用控制按钮添加它们的路径。
对话框选项
字段列表
该列表包含了输入数据中所有可用的字段。其中行ID、行索引、记录数三个字段是系统自动生成的。双击任一字段的名称,可以把他们添加到算法编辑区域。这样可以替换选中的对象,或者插入指定位置。
全局变量声明
在此定义全局变量。这些变量在执行中一直可用,当然也可以修改。尽量不要使用以下划线('_')开头的名字,因为这与系统内部潜在使用的名字冲突。
算法内容
在此输入Java代码。可以通过双击把左侧的字段名添加到代码中。浮点型字段会作为浮点类型处理,整型型字段作为整型类型处理,而其他类型的字段作为字符类型处理。如果输入的为一个集合,则会当作数组处理,此时要同时勾选字符型和返回数组。
缺失转化为空
如果选中此项,输入表的缺失值都会被替换成 null,而且有必要检查是否为空。如果不选中此项,输入中如果有缺失值,则相应的输出中也会是缺失值。
保存之前检查表达式
如果不选此项,该节点的配置应用到模型时将会跳过语法测试,即当遇到语法错误时,仍然可以关闭对话框。这让用户遇到问题时可以临时关闭对话框,等研究原因后继续测试。当代码中有语法错误的时候,节点不会执行,且此时节点为红色。这个选项只为方便使用,对该节点的输出没有任何影响。
返回类型
在此指定代码的输出类型。
返回数组
如果结果为数组,则选中此项。
替换或追加字段
在此指定是将结果保存在一个新的字段中,还是替换原有字段。
端口
输入端口

0

输入表

输出端口

0

追加表