我有一个像下面这样的输入文件,试图将多个客户记录转换成各自的季度,并且还记录每个客户的记录。从数据中得出季度(如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
答案 0 :(得分:0)
您可以按CustId和Contacted_Time desc对数据进行排序,将数据过滤(因为我假设可能有4个以上)到四个联系人,并且一旦获得四分之一,就为该数字分配一个帮助列(也在转换器中)。
最后,枢轴位移台可以进行垂直化,或者也可以在变压器中进行垂直化。