Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 15h17   #1
Membre à l'essai
 
Inscription : septembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 61
Points : 22
Points : 22
Par défaut reject tmap sur talend 4.0.2

Bonjour,

J'ai du mal a comprendre comment recuperer les informations de sortis de rejet.

J'ai talend 4.0.2, et lorsque je clique sur les icones de rejet, je n'ai rien da la sortie output.




Malgré le tutorial, je n'arrive pas a recuperer la difference en sortie de deux table.
Ou est ce que je m'y prend mal ?
Est ce que je dois crée manuellement la table de rejet ?
Et comment recuperer cette informations ?

Ou peut etre plus simplement comment faire un left join ?
flash22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 18h04   #2
Membre à l'essai
 
Inscription : septembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 61
Points : 22
Points : 22
J'ai trouvé un début de solution pour créer un left outer join, mais c'est fastidieux.
Je me demande s'il est possible de faire une requete SQL (si oui laquel ?) entre deux tables et l'envoyer en sortie d'une seul.

Elle ferait ceci :

table1
a
b

table2
b
c

resultat attendu ( soit afficher que les resultats differents)
a
c
flash22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 17h10   #3
Membre Expert
 
Avatar de Benoit_Durand
 
Benoit Durand
Consultant en Business Intelligence Freelance
Inscription : mars 2005
Messages : 812
Détails du profil
Informations personnelles :
Nom : Benoit Durand
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant en Business Intelligence Freelance

Informations forums :
Inscription : mars 2005
Messages : 812
Points : 1 084
Points : 1 084
En talend, pour faire un left je décocherais les 2 boutons "rejects" (violet et orange) et je mettrais correspondance unique pour le lien.

en sql :
Code :
1
2
SELECT * FROM table_a a 
LEFT OUTER JOIN table_b b ON a.nom=b.nom
mais en lisant l'exemple je comprends que ce n'est pas un left.

plutôt un rejet d'inner join :
dans le tmap, dans la jointure, cocher la case inner join, mettre correspondance unique
et sur la partie de droite ne sélectionner que les inner join rejects (flèche violette)

je dis ça sans tester
__________________
Pensez à la fonction Recherche
Benoit_Durand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 17h19   #4
Rédacteur/Modérateur
 
Avatar de jsd03
 
Jean-Sébastien DARGES
Consultant décisionnel
Inscription : août 2008
Messages : 983
Détails du profil
Informations personnelles :
Nom : Jean-Sébastien DARGES
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Consultant décisionnel

Informations forums :
Inscription : août 2008
Messages : 983
Points : 1 845
Points : 1 845
En fait tu veux faire un FULL OUTER JOIN !

Donc à moins que ta table ne soit pas dans le même schéma tu devras le faire en 2 passes :
- test de la table 1 par rapport à la table 2
- test de la table 2 par rapport à la table 1

Si tes tables sont dans le même schéma teste ceci dans un t[taBDD]Input:

Code :
1
2
3
4
5
6
SELECT table_1.col COL_TAB1, table_2.col AS COL_TAB2
FROM table_1
FULL OUTER JOIN table_2
ON table_1. COL_TAB1 = table_2. COL_TAB2
WHERE table_1.COL_TAB1 IS NULL
OR table_2. COL_TAB2 IS NULL
Ainsi tu auras les données de la table 2 non présentes dans la table 1 et vis-versa

Relie à un tMap et dans la sortie :

dans la colonne ou tu veux renvoyer la valeur non présente :
Code :
row1.COL_TAB1 == NULL ? row1.COL_TAB2 : row1.COL_TAB1
__________________
Google est ton ami mais ton voisin aussi

Modérateur BI
Mes tutoriels - FAQ Talend - FAQ SQL*Plus

Suivez @Developpez sur twitter !
jsd03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 09h50   #5
Membre à l'essai
 
Inscription : septembre 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 61
Points : 22
Points : 22
Oui c'est bien un FULL OUTER JOIN,
et malheureusement elle ne sont pas dans le meme schema.

Maintenant ca marche, mais c'est assez compliqué a maintenir
flash22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h30.


 
 
 
 
Partenaires

Hébergement Web