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

 时间:2024-10-12 22:21:00

遇到这样一个问题:从EXCEL中读取数据,其中A谱驸扌溺列数据,其中包含一些为空的字段,想要将A这列数据进行处理,处理之后的原来为空数据的被上一条有值得数据替换,得到如下效果:AA列为原始数据,A为处理后的数据。A AA1 11 112 21 113 34 445 5

工具/原料

kettle4.3版本以上

问题分析

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

问题解决思路

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

创建kettle模型

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

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

2、javascript中蜣贺鱿柢代码分析:var AA; //定义新增的输出字段,处理后的A字段的值都存在AA字段中if (A==null){AA=getVariable(&qu泠贾高框ot;X",""); //判断如果A字段的值为空,则将变量X的值赋给AA}else{ setVariable("X",A,"r"); //如果A字段值不为空,则将A字段的值赋给变量X AA=A; //Ab不为空时还需要将A字段的值赋给AA}

  • 羊肉烧萝卜的做法
  • 超细磨粉雷蒙磨的使用方法
  • 排骨玉米煲仔饭
  • 人参和西洋参有什么区别
  • 孩子是个捣蛋鬼怎么办
  • 热门搜索
    感恩的手抄报图片 小学英语手抄报内容 喜迎国庆手抄报 廉洁教育手抄报 红五月手抄报 a4手抄报版面设计图 走进西部手抄报 数学手抄报四年级下册 诵读经典手抄报 读书手抄报大全