Как добавить новую строку в качестве итога группы, используя Data Stage

У меня есть входные данные, как показано ниже
CovNo type Price
10 med tot 110 10 med tot 120 10 dent tot 140 20 med tot 110 20 dent tot 130 20 med tot 120

Как я могу сгенерировать выходные данные, как показано ниже
CovNo type Price
10 med tot 110 10 med tot 120 10 dent tot 140 10 Group tot 370 20 med tot 110 20 dent tot 130 20 med tot 120 20 Group tot 360

Должен ли я знать логику для реализации вышеупомянутого сценария в Datastage.

Заранее спасибо,
Shanmugam

2 ответа

Для приведенного выше примера мы могли бы добиться этого в преобразователе, используя функции SaveInputRecord() и GetSavedInputRecord() и LastRowInGroup().

IBM предоставила прекрасный пример для этого типа сценария.

Примечание. На производительность будет влиять, если данные огромны, поскольку они используют кэш-память. Так что, если ваши данные огромны, то лучше разделить источник и выполнить объединение после агрегирования, или вы можете легко сделать это с помощью sql, если ваш источник является базой данных.

В зависимости от источника ваших данных одним из способов может быть их решение с помощью SQL, если вашим источником является таблица.

Если вы хотите или должны делать это только в DataStage, вы можете раскошелиться на данные, используя стадию копирования, и получить один вывод на стадию агрегатора, где вы рассчитываете суммы для группы. Другие выходные данные копии затем объединяются с результатами агрегатора с этапом последовательности (который ведет себя как объединение в SQL). Вот и все.

Другие вопросы по тегам