源表中的数据如下: -
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
请告诉我使用哪种转换可以实现结果。另外请告诉我逻辑。
答案 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按以下顺序评估端口:
输入端口。 Integration Service首先评估所有输入端口,因为它们不依赖于任何其他端口。因此,您可以按任何顺序创建输入端口。由于它们不引用其他端口,因此Integration Service不会对输入端口进行排序。
可变端口。可变端口可以引用输入端口和可变端口,但不能引用输出端口。由于变量端口可以引用输入端口,因此Integration Service会在输入端口之后评估变量端口。同样,由于变量可以引用其他变量,因此变量端口的显示顺序与Integration Service评估每个变量的顺序相同。
例如,如果计算建筑物的原始值然后调整折旧,则可以将原始值计算创建为变量端口。此变量端口需要显示在调整折旧的端口之前。
- 醇>
输出端口。由于输出端口可以引用输入端口和可变端口,因此Integration Service最后会评估输出端口。输出端口的显示顺序无关紧要,因为输出端口不能引用其他输出端口。确保输出端口显示在端口列表的底部。