|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
Bonjour à tous,
Dans mon tMap, je fais une jointure interne entre deux tables ; si la valeur A.nom (A = flux de données à intégrer) n'est pas dans la table B l'enregistrement n'est pas intégré et une erreur est tracée. Donc si la valeur n'est pas renseignée (blanc / NULL) l'enregistrement est rejeté. Finalement, la CP me dit que les enregistrements à blanc doivent être intégrés : seuls les enregistrements ayant une valeur renseignée mais pour lesquels cette valeur n'est pas dans la BD, doivent être écartés. Ex : *** enr 1(nom X, valeur Y) enr 2(nom Z, valeur Y) enr 3(null, valeur Z) Si "nom X" est connu et pas "nom Z" ("valeur Y" et "valeur Z" étant connues dans la BD), le deuxième enregistrement doit être écarté mais le troisième doit être intégré. Du coup mon rejet de jointure interne n'est plus valable... Par quels tests puis-je remplacer cela? Merci par avance de vos réponses. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
Dans le tmap je mets un left outer join à la place de l'inner join
Et je teste côté droit si c'est non null (à intégrer) OU BIEN si c'est null je teste que la valeur de mon champ A est nulle aussi (à intégrer aussi). Dans les autres cas (le résultat de mon left outer join est NULL, mais le champ A n'est pas vide) je rejette. Merci à tous ! |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Benoit DurandConsultant en Business Intelligence Freelance Inscription : mars 2005 Messages : 816 ![]() |
Bonjour,
Je ne suis pas sûr d'avoir tout compris. Je ferais un left join entre les 2 sources et dans la sortie je rajouterai une condition du genre : si A.nom == null OR (A.nom!=null ET B.nom !=null) et faire une 2eme sortie avec un output reject. non ? Cdt,
__________________
Pensez à la fonction Recherche |
|
|
10
|
|
|
#4 |
|
Membre du Club
![]() Inscription : février 2006 Messages : 86 ![]() |
Oui merci beaucoup ; je crois que c'est ce que j'ai fait.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com