Извлечь данные из двух таблиц базы данных DB2 и загрузить во временную таблицу - PullRequest
1 голос
/ 19 февраля 2012

Я создаю рабочий процесс informatica, который может извлекать данные из двух таблиц базы данных DB2 и загружать их во временную таблицу. Предположим, что две исходные таблицы называются Account (Parent) и Activity (Child). У них есть отношения 1: M. Означает, что учетная запись может иметь много видов деятельности (Account.PK = Activities.FK). Таблица действий имеет два столбца: первый - «Тип», значение которого может быть «Оплачено», «Оплачено» или «Не оплачено». Второй столбец - это тип даты и времени «Created_Date», когда вы создаете новую запись, дату и время действия. получил бы штамп в этой области. Теперь условие для загрузки данных во временную таблицу: «Для записи счета 1-я проверка в таблице« Операции »для сегодняшних платных операций (Тип = Платная). Если он находит более одной платной деятельности, то он выбирает« Последние созданные ». один (столбец Created_Date) из них. Если для Аккаунта нет записи о платных действиях, то будет выбрана последняя созданная активность «Will-Pay». " Значит, он должен выбрать последнюю Платную активность за сегодня (Sysdate) для Учетной записи, если она отсутствует, то только Он выберет последнюю активность Will-pay за сегодня. Пожалуйста, помогите мне понять, как я могу реализовать эту логику в рабочем процессе Informatica и какие преобразования я должен использовать и как? Большое спасибо. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 марта 2012

Лучший способ сделать это на SQL, потому что реализовать бизнес-логику на ETL - это не хорошо.Но если вы настаиваете, это может быть создано многими способами.Например:

С переопределением SQL Вы можете создать 3 преобразования поиска для таблицы «Действия» с переопределенным SQL (и столбцами тоже) и одно преобразование выражения для условия.

  1. Поиск, чтобы найти болееодна учетная запись «платных» действий
  2. Поиск, чтобы найти последнюю «платную» активность для учетной записи
  3. Поиск, чтобы найти последнюю «платную» активность для учетной записи
  4. Выражение для возврата правильных действийключ основан на 1-3 результатах поиска

Без переопределения SQL вам необходимо воссоздать аналогичную логику с преобразованиями фильтра, агрегатора, соединения.

...