2016-08-25 1 views
2

J'ai une tâche intéressante de créer une transformation de Kettle pour charger une table qui est Pure Type 6 dimension. Cela me rend fouImplémentation de Pure SCD Type 6 dans Pentaho

On suppose la structure du tableau ci-dessous

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

Puis vient mon fichier d'entrée

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

Après la bouilloire transformation, les données doivent ressembler à

|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| 
  • Vérifier les données existantes a et recherchez si l'enregistrement entrant est inséré/mis à jour
  • Ensuite, générez des clés de substitution uniquement pour les enregistrements d'insertion & effectuez les insertions.
  • conserver les clés de substitution pour les enregistrements de mise à jour et l'insérer sous forme de nouveaux enregistrements et attribuer une date de fin ouverte pour le nouveau record (une valeur très élevée) et fermer le précédent correspondant comme nouvelle date de début de disque - 1

Quelqu'un peut-il s'il vous plaît suggérer la meilleure façon de le faire? Je n'ai pu voir que les types 1 et 2 en utilisant l'option Dimension Lookup-Update

Répondre

1

Je l'ai fait en utilisant une approche mixte d'ETLT.

enter image description here