0

我需要在有两列的表上运行数学函数。一列是日期,另一列是数字。我需要按日期对数据进行排序,对于每个日期,我需要获取同一日期的数字、前 1 个日期的数字和后一个日期的数字。

我在这 3 个数字上运行该函数。我是一个 linux 程序员,对我来说这很简单,我只是把它放在一个数组中并运行它。我可以用 datastage 来做吗?我可以将表中的数据加载到数组中并执行相同的操作吗?我在 datastage 中发现的只是逐行运行。我只是想知道是否可以轻松地在 datastage 中完成类似的事情,以及是否可以指导我如何开始工作!

谢谢

4

2 回答 2

0

如果您在 PX 中执行此操作,您将需要一个更复杂的解决方案,包括按顺序运行部分/全部作业。如果我理解正确,你有:

第 A 行,第 1 天

B 行,第 2 天

C 行,第 3 天

你想要什么:

A, , 1, 2

B、1、2、3

C, 2, 3,

首先,您应该按顺序运行此作业,即使使用 PX。在 PX 中有一些方法可以做到这一点,但不值得麻烦。

其次,您应该按升序对所有数据进行排序。使用变压器查找前一天的数字。你会得到:

A, , 1

乙, 1, 2

C, 2, 3

第三次获取这些数据并按降序对其进行排序。在另一个变压器中应用与以前基本相同的逻辑。这会让你

C, 2, 3,

B、1、2、3

A, , 1, 2

于 2014-07-22T19:56:49.410 回答
0

您可以在变压器阶段使用循环。http://newtonapples.com/datastage-transformer-looping-1/ 使用排序阶段按日期对数据进行排序(这很容易)。然后使用变压器级。创建 2 个循环变量,一个用于最后一行,一个用于最后一行。然后将您的函数应用于三行。这是另一个循环示例,但它比第一个链接http://datastageinfoguide.blogspot.com/2013/01/looping-concept-in-datastage-85-or-87.html复杂一点

于 2014-02-16T10:48:41.833 回答