Pentaho 数据集成 setVariable 不工作

Pentaho Data Integration setVariable not working

我使用的是 PDI 7.0,在转换中有一个 "Modified Java Script Value" 步骤,如下所示:

var numberOfDays = 100;
Alert(numberOfDays);
setVariable("NUMBER_OF_DAYS", numberOfDays, "r");
Alert(getVariable("NUMBER_OF_DAYS", ""));

然而,当我运行转换时,第一个Alert正确抛出100,但下一个Alert是空白的(意思是变量没有设置)。

这里有什么问题?

作为经验法则,您应该永远不要设置变量并读取相同的转换

看到设置 Set Variables 步骤时 Spoon 中弹出的警告:

也就是说,如果你真的坚持通过Java设置这个,你可以做什么脚本是以下设计:

哪里

1)设置变量转换用于设置值:

var numberOfDays = 100;
Alert(numberOfDays);
setVariable("NUMBER_OF_DAYS", numberOfDays, "r");

2) 获取变量transformatoin只读取它

Alert(getVariable("NUMBER_OF_DAYS", ""));

两个转换使用相同的步骤,但它们有不同的任务。