Informatica:Prev列值显示

Cha*_*han 2 informatica informatica-powercenter

源表中的数据如下: -

Empno   Ename  sal
101     Allen  1000
102     Alex   2000
103     Tom    1500
104     Cb     2100
Run Code Online (Sandbox Code Playgroud)

我希望输出如下: -

Empno   Ename  sal
101     Allen  0
102     Alex   1000
103     tom    2000
104     Cb     1500
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*icz 11

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

PORT             EXPRESSION
in_sal           N/A
v_previous_sal   v_current_sal
v_current_sal    in_sal
out_sal          v_previous_sal
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

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