处理日期并将其分配到各个类别中

时间:2019-06-17 02:13:18

标签: datastage ibm-infosphere

我有一个像下面这样的输入文件,试图将多个客户记录转换成各自的季度,并且还记录每个客户的记录。从数据中得出季度(如2019年第二季度)后,现在最新的季度应转到TimeFrame4,旧的季度应转到3、2、1顺序。

到目前为止,使用转换器可以得出四分之一,但是之后,我陷入了如何识别并将它们分配给各个存储区(TimeFrame1 TimeFrame2 TimeFrame3 TimeFrame4)的困境。关于如何在DataStage(11.3并行作业)中有效地实现这一点(输入有5000万条记录)的任何想法。

输入:

CustID  Contacted_Time
1       2018-12-25
1       2019-06-15
1       2019-01-03
2       2019-02-24
2       2019-03-05

我需要所需的输出,如下所示:

CustID TimeFrame1   TimeFrame2  TimeFrame3  TimeFrame4
1       null        Q4 2018     Q1 2019     Q2 2019
2       null        null        null        Q1 2019

1 个答案:

答案 0 :(得分:0)

您可以按CustId和Contacted_Time desc对数据进行排序,将数据过滤(因为我假设可能有4个以上)到四个联系人,并且一旦获得四分之一,就为该数字分配一个帮助列(也在转换器中)。

最后,枢轴位移台可以进行垂直化,或者也可以在变压器中进行垂直化。