Внедрение Pure SCD Type 6 в Pentaho

У меня есть интересная задача создать преобразование Kettle для загрузки таблицы, которая представляет собой размерность Pure Type 6. Это сводит меня с ума

Предположим, что структура таблицы ниже

|CustomerId|Name|Value|startdate|enddate|
|1|A|value1|01-01-2001|31-12-2199|
|2|B|value2|01-01-2001|31-12-2199|

Затем идет мой входной файл

Name,Value,startdate
A,value4,01-01-2010
C,value3,01-01-2010

После преобразования чайника данные должны выглядеть так

|CustomerId|Name|Value|startdate|enddate|
|1|A|value1|01-01-2001|31-12-2009|
|1|A|value4|01-01-2010|31-12-2199|
|2|B|value2|01-01-2001|31-12-2199|
|3|C|value3|01-01-2010|31-12-2199|
  • Проверьте существующие данные и найдите, является ли входящая запись вставкой/обновлением
  • Затем сгенерируйте суррогатные ключи только для записей вставки и выполните вставки.
  • Сохраните суррогатные ключи для записей обновления и вставьте их как новые записи, назначьте открытую дату окончания для новой записи (очень высокое значение) и закройте предыдущую соответствующую запись в качестве даты начала новой записи - 1

Может ли кто-нибудь предложить лучший способ сделать это? Я мог видеть только тип 1 и 2, используя параметр «Поиск-обновление измерения».


person SriniV    schedule 25.08.2016    source источник


Ответы (1)


Я сделал это, используя смешанный подход ETLT.

введите здесь описание изображения

person SriniV    schedule 30.12.2016