IBM Datastage:创建作为计算的列

问题描述

我有一个表,其中的列分别是位置和贷方,该位置包含字符串行,主要是location_namenpl_of_location_name。功劳包含整数行,主要是credit_of_location_namecredit_npl_of_location_name。我需要创建一列来计算((贷项的奇数行-贷项的偶数行)* 0.1)。我该怎么做?

解决方法

当您指定“奇数行”和“偶数行”时,是指行号吗?因为,除非您的查询对数据进行排序,否则您无法控制行顺序;数据库服务器返回行,但是它们是物理存储的。

一旦确定行已正确排序,则可以使用Mod(@ INROWNUM,2)= 1之类的技术来确定“奇数”,零为偶数。如果Transformer在顺序模式下执行,则效果最好。如果以并行模式执行,则需要使用分区算法,以确保特定位置的奇数行和偶数行在同一节点中。