javascript - Pentaho Kettle 修改的 Java 脚本 setVariable

标签 javascript pentaho kettle

我想从数据流中的现有字段动态创建一个变量(不是新字段),然后修改该变量。
原因是,我需要用单引号 ' 括住可以在 Sql 语句的 IN 子句中使用的字符串列表。 Kettle 消除了字段中的单引号,但它们保留在变量中。我最好的猜测是在修改后的 Java 脚本中使用 setVariable,但从那里我被难住了。

最佳答案

我必须没有足够的代表来将文件附加到答案中。太糟糕了,因为我有一个 ktr 可以很好地做到这一点。

我首先将“'”作为新字段添加到行中。然后,我将包含要转换为列表的值的行传递到“分组”步骤中。我选择“串联字符串”的聚合,并使用值 ',',并为结果指定一个新名称,例如“list”。

然后,我将该结果行传递到计算器步骤,其中计算为 A + B + C。我为值 A 和 C 指定“'”字段,为值 B 指定列表字段。然后将该结果传递给设置变量步骤。

在父作业中,我得到一个看起来正如您所期望的变量:'val1','val2','val3'。无需 JavaScript。

关于javascript - Pentaho Kettle 修改的 Java 脚本 setVariable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071245/

相关文章:

javascript - 根据用户选择禁用单选按钮

email - 如何使用 Pentaho 数据集成提取电子邮件附件?

java - 从java类调用url一个接一个用于登录,另一个用于Web服务调用

sql - Pentaho - 使用瘦客户端连接到 Carte

http - 如何使用 pentaho kettle 查看 http header

javascript - 如何在自定义组件内处理 onSubmit

javascript - 如何检查 Chrome 扩展程序的真实性?

javascript - 对多个子项使用每个函数

pentaho - pentaho 中 Step - 表输入的动态变量

java - Kettle 步骤中的 ClassCastException