Обработка и присвоение даты в соответствующие категории - PullRequest
0 голосов
/ 17 июня 2019

У меня есть входной файл, подобный приведенному ниже, и я пытаюсь преобразовать несколько записей о клиентах в соответствующие кварталы, а также запись для каждого клиента.Как только квартал (например, Q2 2019) получен из данных, теперь самый последний должен перейти на TimeFrame4 и старые на 3,2,1 порядка.

До сих пор удалось вывести кварталы с помощью трансформатора,но после этого я застрял в том, как определить и назначить их в соответствующие сегменты (TimeFrame1 TimeFrame2 TimeFrame3 TimeFrame4).Любые идеи о том, как эффективно реализовать это (вход имеет 50M записей) в DataStage (11.3 параллельного задания).

Ввод:

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 голосов
/ 20 июня 2019

Вы можете отсортировать данные по CustId и Contacted_Time desc, отфильтровать данные (потому что я предполагаю, что их может быть больше 4) по четырем контактам, и как только вы получите кварталы, назначьте вспомогательный столбец с номером (также в преобразователе).

Наконец, этап Pivot может выполнять вертикализацию, или вы можете сделать это и в трансформаторе, то есть с помощью цикла.

...