2017-07-10 3 views
0

J'ai des données d'échantillon Jeu 1 et jeu 2 comme à l'image jointe, je veux comparer l'ensemble 1 avec les données set 2, la clé (sectionid, itemid et rid) est la même chose, recherchez le logdatetime, et mettez à jour la valeur du flag ('1', avec logdatetime plus tôt) du set 2 au set 1, quelles étapes du penatho pdi peuvent m'aider à atteindre cet objectif?valeur de l'indicateur de mise à jour pentaho- basée sur le résultat de comparaison de 2 flux de données

Sample Data

+0

si set1 et set2 sont présents dans la base de données. Si oui, vous pouvez utiliser la recherche de base de données et mettre à jour le composant pour le même. Si non, vous pouvez insérer la même chose dans db et faire de même. –

Répondre

0

L'étape que vous recherchez est appelé Merge Row (diff). Étant donné deux flux de données, vous spécifiez les clés (sectionid, itemid et rid) et les valeurs à comparer (logdatetime). Ensuite, PDI définira un nouveau champ comme identique, modifié, nouveau ou supprimé. Ou, bien sûr, le nouveau dépend de quel Set1 ou Set2 a été défini comme "référence".

Deux mots de prudence:

  1. Les deux cours d'eau doivent avoir le même format (nom du champ, ordre et type): Utilisez l'étape Select Value pour cela.

  2. Les deux flux doivent être triés sur la ou les clés spécifiées: Utilisez l'étape pour cela.