Pentaho/Kettle Javascript:动态调用字段

Pentaho/Kettle Javascript:动态调用字段,javascript,pentaho,kettle,Javascript,Pentaho,Kettle,我试图检索字段的值,但我需要动态生成字段的名称 想象一下,我把去年按天出生的人放在以天数命名的列中。所以你有像DAY_1,DAY_2,DAY_3这样的栏目。数值是5,12,33。。。 我想对所有这些值进行循环,为此我按二进制方式构建了字段名: var column\u name=“DAY”+i 所以以后我可以一个接一个地增加我的循环 问题是javascript无法将DAY_i识别为有效的输入字段,因此我无法检索该字段的值,Pentaho将其作为字符串处理。在javascript步骤中,有一个数组

我试图检索字段的值,但我需要动态生成字段的名称

想象一下,我把去年按天出生的人放在以天数命名的列中。所以你有像DAY_1,DAY_2,DAY_3这样的栏目。数值是5,12,33。。。 我想对所有这些值进行循环,为此我按二进制方式构建了字段名:

var column\u name=“DAY”+i

所以以后我可以一个接一个地增加我的循环


问题是javascript无法将DAY_i识别为有效的输入字段,因此我无法检索该字段的值,Pentaho将其作为字符串处理。

在javascript步骤中,有一个数组变量
row
。您可以使用
getInputRowMeta().indexOfValue(“DAY_uuz”+i)
查找列的索引,然后使用该索引获取当前行中字段的值:

var column_name = "DAY_" + i;
var column_index = getInputRowMeta().indexOfValue(column_name);
var column_value = row[column_index];

请注意,
column\u value
将引用某个Java类型的对象(例如Java.lang.String),因此javascript字符串方法不会对该值起作用。您需要将该值转换为javascript类型或使用java方法。

在javascript步骤中,有一个数组变量
。您可以使用
getInputRowMeta().indexOfValue(“DAY_uuz”+i)
查找列的索引,然后使用该索引获取当前行中字段的值:

var column_name = "DAY_" + i;
var column_index = getInputRowMeta().indexOfValue(column_name);
var column_value = row[column_index];
请注意,
column\u value
将引用某个Java类型的对象(例如Java.lang.String),因此javascript字符串方法不会对该值起作用。您需要将该值转换为javascript类型或使用java方法