Informatica:Prev列值显示

时间:2012-12-30 10:41:11

标签: informatica-powercenter informatica

源表中的数据如下: -

Empno   Ename  sal
101     Allen  1000
102     Alex   2000
103     Tom    1500
104     Cb     2100

我希望输出如下: -

Empno   Ename  sal
101     Allen  0
102     Alex   1000
103     tom    2000
104     Cb     1500

请告诉我使用哪种转换可以实现结果。另外请告诉我逻辑。

1 个答案:

答案 0 :(得分:11)

使用两个可变端口添加表达式转换:

PORT             EXPRESSION
in_sal           N/A
v_previous_sal   v_current_sal
v_current_sal    in_sal
out_sal          v_previous_sal

请阅读文档中的摘录以了解端口顺序:

  

Integration Service按以下顺序评估端口:

     
      
  1. 输入端口。 Integration Service首先评估所有输入端口,因为它们不依赖于任何其他端口。因此,您可以按任何顺序创建输入端口。由于它们不引用其他端口,因此Integration Service不会对输入端口进行排序。

  2.   
  3. 可变端口。可变端口可以引用输入端口和可变端口,但不能引用输出端口。由于变量端口可以引用输入端口,因此Integration Service会在输入端口之后评估变量端口。同样,由于变量可以引用其他变量,因此变量端口的显示顺序与Integration Service评估每个变量的顺序相同。

         

    例如,如果计算建筑物的原始值然后调整折旧,则可以将原始值计算创建为变量端口。此变量端口需要显示在调整折旧的端口之前。

  4.   
  5. 输出端口。由于输出端口可以引用输入端口和可变端口,因此Integration Service最后会评估输出端口。输出端口的显示顺序无关紧要,因为输出端口不能引用其他输出端口。确保输出端口显示在端口列表的底部。

  6.