|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Consultant informatique Inscription : septembre 2009 Messages : 26 ![]() |
Salut,
je vais essayer d'être concis, mais c'est pas gagné... Je suis en Talend 4.2. J'ai un tFileInput (un fichier contenant des personnes) et dont les données vont dans un tMap, c'est mon entrée main. J'ai un tmysqlinput qui va dans le même tMap et c'est mon lookup. Le lookup est effectué sur le quadruplé de champs : nom, prénom, date de naissance, nom de jeune fille. J'ai donc 3 possibilités :
Ce que je souhaiterais, c'est, en gros, envoyer toutes les entrées uniques ou inexistantes dans une sortie A et les entrées en doublon dans une sortie de rejet (B). Si l'entrée n'existe pas en base, j'arrive bien à envoyer dans la sortie A, en faisant un tfilterRow sur l'id (qui est donc null) après le tMap . Par contre, je n'arrive pas à distinguer une ligne qui serait retournée plusieurs fois pour le même quadruplé. Comment faut-il que je fasse s'il-vous-plait ? Merci d'avance Note : je suis plus que disponible pour tout complément d'information |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Bonjour,
Tu pourrais paramétrer le lookup avec le 'Match Model' en 'All Matches' et utiliser un tUniqRow sur ta sortie B afin d'identifier les lignes qui sont en doublon. Nicolas |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Consultant informatique Inscription : septembre 2009 Messages : 26 ![]() |
Bonjour,
merci pour cette réponse, c'est exactement celle que j'attendais pour commencer la discussion et voir si je m'étais bien fait comprendre Donc... C'est exactement ce que j'avais fait : le lookup en All Matches. 1 seule sortie dans le tMap (on va l'appeler COMPLET). Après le tMap, je fait un tFilterRow sur COMPLET (je vérifie la présence d'un id) et j'obtiens bien deux sorties distinctes : les données n'existant pas en base d'un côté (INEXISTANT) et les données existants en base de l'autre côté (EXISTANTES). Sur la sortie EXISTANTES, je fais alors un tUniqRow. Je peux donc récupérer 2 nouvelles sorties : Doublons et Uniques. On se rapproche, sauf que mon problème se situe à ce niveau. En effet, dans la sortie Doublons, j'ai bien mes doublons, mais dans la sortie Uniques j'ai mes données uniques + une des données doublonnées. je voudrais uniquement avoir les données réellement uniques. Un petit exemple : j'ai 4 personnes : pierre, paul, jean et paul. Paul est donc en doublon. Si je fais un tUniqRow sur ces données, j'aurais alors paul dans Doublons et pierre, jean ET paul dans Uniques. Ce que je souhaiterais, c'est avoir paul dans Doublons et pierre et jean dans Uniques Merci d'avance |
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() Nicolas SaumandeArchitecte Décisionnel Inscription : février 2008 Messages : 693 ![]() |
Citation:
Citation:
Tu pourrais utiliser un tAggregateRow à la place du tUniq, avec un champ qui compte le nombre d'occurrences de chaque clé. Et ensuite tu filtres pour ne garder que les lignes qui n'ont qu'une occurrence. Mais par contre, tu ne récupères qu'une ligne par doublon, avec le nombre de lignes formant le doublon. Ca te convient ? Nicolas |
||
|
|
10
|
|
|
#5 | |
|
Futur Membre du Club
![]() Consultant informatique Inscription : septembre 2009 Messages : 26 ![]() |
Salut,
merci pour ta réponse : Citation:
Merci encore, à plus Mathieu |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com