解决kettle中一个变量的值随输入数据变化的问题

2025-10-11 22:00:04

1、上述问题就是解决在某种条件下将输入处理的数据内进行处理,将输入的某一条数据的值处理后处理给另一条数据。我们可在这个值传递过程中设置一个全局变量,临时将数据的值存在里面(输入的值为非空时),当满足某个条件(读入的数据为空)时将变量的值赋给这个数据。

1、针对上述问题,解决思路是,创建一个变量X,当A不为空时,读取数据时每次都将A列的值赋给X,将A的值赋给AA;当遇到A列数据为空时,将变量X中的值赋给AA。

1、使用Excel输入将Excel表数据读入进来。kettle作为一个数据加载、转换和清洗工具,支持在其中引入javascript脚本,我们可以在javascript中完成值到变量及变量到值得变换。最后使用Excel输入将处理结果输出即可。构建的模型如下:

解决kettle中一个变量的值随输入数据变化的问题

2、javascript中代码分析:

var AA; //定义新增的输出字段,处理后的A字段的值都存在AA字段中

if (A==null){

AA=getVariable("X","");  //判断如果A字段的值为空,则将变量X的值赋给AA

else

{

setVariable("X",A,"r");   //如果A字段值不为空,则将A字段的值赋给变量X

AA=A;    //Ab不为空时还需要将A字段的值赋给AA

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢