我输入如下
empid薪水 10 1000 2000年20号 30 3000 40 4000
我在顺序fie中需要的输出如下所示。流行的应该有前一行的薪水
empid工资盛行 10 1000 null 20 2000 1000 30 3000 2000 40 4000 3000
我尝试使用变换器,将stage变量作为prevsal = inputlink.salary,然后定义输出列inputlink.salary = prevsal。我知道这在逻辑上是行不通的,是的,它没有用。任何人都可以找到我的解决方案。
答案 0 :(得分:1)
你是正确的方式 - 变换器和阶段变量是要走的路。 请记住,在变压器中,数据是自上而下处理的。这意味着首先处理第一个(最顶层)阶段变量,然后处理第二个阶段,依此类推,最后将数据放在输出链接上。
输入column:inputlink.salary 假设两个阶段变量:svPrevSalary(最顶层) 和第二个svCurrentSalary
在舞台变量部分尝试以下辅助:
1. svCurrentSalary (=) svPrevSalary
2. inputlink.salary (=) svCurrentSalary
使用
svPrevSalary
作为输出链接/字段的推导。
请注意,(=)只是为第一阶段变量指定svCurrentSalary的想法。
答案 1 :(得分:0)
当我开始做时,我遇到了同样的问题。我没有得到预期的结果。 对于这个问题,我们必须记下两件事。 1.我正在做什么工作。比如服务器,顺序或并行。我在并行环境中工作。 2.请记住链接的执行顺序,即i / o顺序。
code- curr_salary - > Prev_Sal, link.salary - > curr_Salary
链接到prev_salary的prev_salary输出链接
注意强> 如果您在Parallel环境中工作,那么您必须在每个阶段的执行部分中创建顺序模式。 转到舞台 - >高级 - >执行模式 - >顺序的。
我认为它应该有效。我几乎是这样做的。Transformer_Image 感谢