Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将表列加载到datastage中的数组中_Datastage - Fatal编程技术网

将表列加载到datastage中的数组中

将表列加载到datastage中的数组中,datastage,Datastage,我需要在一个有两列的表上运行一个数学函数。 一列是日期,另一列是数字。 我需要按日期对数据进行排序,对于每个日期,我需要从同一日期获取数字,从前一个日期获取数字,从后一个日期获取数字 我在这3个数字上运行函数。 我是一个linux程序员,对我来说这很简单,我只是把它放在一个数组中,然后运行它。 我可以用datastage做什么?我可以将表中的数据加载到数组中并执行相同的操作吗? 我在datastage中发现的只是逐行运行。我只是想知道类似的事情是否可以在datastage中轻松完成,以及您是否可

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

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


谢谢

您可以在变压器阶段使用环路。 使用sort stage按日期对数据进行排序(非常简单)。 然后使用变压器级。创建两个循环变量,一个用于最后一行,另一个用于最后一行之前的一行。然后将函数应用于这三行。
这里是另一个循环示例,但它比第一个链接稍微复杂一点

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

A排,第1天

B排,第2天

C排,第3天

你想要什么:

A、 ,1,2

B、 1,2,3

C、 二,三,

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

其次,您应该按升序对所有数据进行排序。使用转换器查找前一天的数字。您将获得:

A、 ,1

B、 1,2

C、 2,3

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

C、 二,三,

B、 1,2,3

A、 ,1,2