Как сравнить данные в Netezza с помощью DataStage

Могу ли я сравнить эти две строки с помощью DataStage, а затем обновить при изменении поля состояния?

    ID | desc | ... | ... | Status | Start_Date | End_Date
------------------------------------------------------------
123456 | ...  | ... | ... |   Y    | 12/31/2014 | 21/31/9999
123456 | ...  | ... | ... |   N    | 12/31/2014 | current_date

Вначале у меня есть только эта строка

    ID | desc | ... | ... | Status | Start_Date | End_Date
------------------------------------------------------------
123456 | ...  | ... | ... |   Y    | 12/31/2014 | 21/31/9999

Тогда ... я хочу сравнить с этой строкой

   ID | desc | ... | ... | Status | Start_Date | End_Date
------------------------------------------------------------
123456| ...  | ... | ... |   N    | 12/31/2014 | current_date

Если поле статуса меняется с Y на N, я хочу обновить End_Date на current_date. Если поле статуса изменится с N на Y, я хочу снова обновить Start_Date на current_date и End_Date на 12/31/9999. Можно ли это сделать в DataStage? Я пробовал использовать Switch Processing, но застрял, когда хочу обновить в Netezza Connector.


person colintobing    schedule 13.07.2015    source источник


Ответы (1)


Из таблицы извлекать только записи, имеющие End_Date = 12/31/9999

Затем на этапе поиска сравните ID и статус с новыми записями, если они совпадают, тогда введите файл обновления, а тот, который не совпадает, вы можете напрямую вставить в таблицу.

И в файле обновления вы должны сохранить как новые записи, так и данные, которые вы извлекаете из таблицы.

Теперь отсортируйте записи по ID и Start_Date в преобразователе, а в переменной стадии есть условие if else, например, если Status равно N, то завершите дату предыдущей даты и заполните End_Date = 12/31/9999 текущей датой.

Надеюсь это поможет.

person Abhis    schedule 17.07.2015
comment
Спасибо, Абхис, за ответ на мой вопрос. Речь идет о хранении медленно движущихся измерений с использованием данных. Я попытался использовать процесс SCD, но все равно не смог. Я скучаю по суррогатному ключу, бизнес-ключу, Type1, Type2 и т. Д. - person colintobing; 21.07.2015