Bon, j'ai cherché un peu partout, et je suis encore débutant sous Talend..je n'ai pas réussi à résoudre ce problème.
Données:
J'ai un flux de données (traitement d'un fichier Excel par Tmap) qui me sort des données au format suivant:
Référence Date_ouverture Date_cloture Description
A22 10/10/2014 10/10/2014 ouverture impossible
A22 10/10/2014 11/10/2014 demande d'accès
A22 12/10/2014 13/10/2014 réinitialisation impossible
A22 15/10/2014 15/10/2014 régénération en cours
J'ai en parallèle un fichier Excel avec les données suivantes qui me permettent de classer les donner
Type Sous_type Chaine
Accès Impossible ouverture
Accès accès demande
Réinitialisation Impossible réinit
Et je veux croiser les données de mon flux pour les classer, en recherchant dans la description la chaine de la seconde table, et si trouvée, lui associer le type et sous type pour obtenir la donnée suivante:
Référence Date_ouverture Date_cloture Description Type Sous_type
A22 10/10/2014 10/10/2014 ouverture impossible Accès impossible
A22 10/10/2014 11/10/2014 demande d'accès Accès accès
A22 12/10/2014 13/10/2014 réinitialisation impossible Réinitialisation impossible
A22 15/10/2014 15/10/2014 régénération en cours Divers divers
Attention, si je ne trouve pas de chaine correspondante dans le deuxième fichier, la ligne associé du flux doit etre classée en Divers/divers
J'ai tenté un Tmap avec filtre sur le fichier de classification sur un stringHandling.INDEX(description, chaine)>0, mais le problème c'est que je perd les données qui ne matchent pas.
J'ai donc voulu traiter en 2 fois, d'abords regarder les données qui ne matchent pas, puis celles qui matchent (dans 2 TMap différents), mais je n'arrive pas à concaténer les 2 résultats ensuite...Et ça me parrait un peu lourd au final.
J'ai tenté de passer par une variable dans mon TMap, mais en fait pour chaque ligne de mon Flux il me génère x ligne (x etant le nombre de ligne dans mon fichier de classification) alors que je veux qu'il ne me retourne que s'il match une ligne, et que si pas ok, a la fin il classe en Divers/divers.
Bref...je sèche...
Partager