IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

TMAP mémoriser une valeur


Sujet :

Développement de jobs

  1. #1
    Membre habitué
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2011
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juillet 2011
    Messages : 199
    Points : 129
    Points
    129
    Par défaut TMAP mémoriser une valeur
    bonjour,

    je n'arrive pas a mémoriser une valeur dans une colonne d'un fichier EXCEL qui est renseigner et la replacer dans cette même colonne si la valeur de la cellule est vide.

    Ici la zone n'est pas renseignée :
    Nom : TALEND_1.JPG
Affichages : 420
Taille : 13,4 Ko

    Ici le résultat attendu :
    Nom : TALEND_2.JPG
Affichages : 418
Taille : 13,6 Ko

    je suis dans un TMAP et j'ai essayé avec les variables mais je n'y arrive pas..
    alors si quelqu'un à une idée je suis preneur

    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Regarde le composant tMemorizeRows qui permet de garder en mémoire une valeur pour être utilisé dans l'enregistrement suivant.

    tu le place après le tMap, et tu peux utiliser les variables positionnées par ce composant dans ton tMap.

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2011
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juillet 2011
    Messages : 199
    Points : 129
    Points
    129
    Par défaut
    désolé je n'ai jamais utilisé ce composant

    je n'arrive pas a voir, comment lui faire comprendre que si la ligne est null il doit prendre la valeur de la derniere non null


    peux tu m'expliquer ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Le composant ne fait que sauvegarder en mémoire la valeur précédente.

    Donc dans ton tMap, tu test normalement la valeur de ta colonne, si elle est valorisé, tu prends cette valeur, sinon tu prends la valeur sauvegardé par le composant tMemoriseRows.

    Ensuite ton flux passe dans le composant TmemoriseRows et sauvegarde la nouvelle valeur

  5. #5
    Membre habitué
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juillet 2011
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juillet 2011
    Messages : 199
    Points : 129
    Points
    129
    Par défaut
    mon problème est que le champs absent n'est pas une ligne sur 2

    mais il peut y avoir 3 lignes ou plus.

    j'ai peur que ça ne marche pas ..

    Nom : talend.png
Affichages : 417
Taille : 8,3 Ko

    tu en pense quoi ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Il faudrait mettre le tMemorizeRow après le tMap pour qu'il retienne la dernière valeur qui serait du coup bien alimenté.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Data Analyst
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Relance de la discussion
    Bonjour à tous,
    Je suis dans la même situation que "progscoubi"
    J'utilise Talend Open Studio (v7.1.1)

    Voici un exemple, j'ai une colonne A et B :

    Nom : initial.JPG
Affichages : 506
Taille : 18,1 Ko

    Je voudrais remplacer les valeurs nulles de ma colonne B, par la valeur précédente qui ne soit pas nulle.

    Résultat :

    Nom : final.JPG
Affichages : 522
Taille : 26,2 Ko

    J'ai essayé le tMemorizeRow mais le nombre de valeurs nulles peut varier.
    Auriez-vous une idée ? J'ai pensé au tJavaRow mais je ne sais pas comment écrire la condition (je n'ai jamais utilisé ce composant auparavant).

    Merci

  8. #8
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Points : 795
    Points
    795
    Par défaut
    Bonjour,

    J'aurais fait cela via un tJavaFlex.

    Dans la première partie du composant il faut initialiser une variable varA du même type que la colonne B.
    Ensuite dans la partie centrale (code qui sera exécuté pour chaque ligne) il faut :
    - Tester si la colonne B est nulle ou pas
    - Si elle n'est pas nulle, enregistrer sa valeur dans la variable varA
    - Si elle est nulle, il faut affecter la valeur de la variable varA dans la colonne B

  9. #9
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    Avec tJavaFlex :

    code initial : code principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (row1.c2 != null)  {
      mavar = row1.c2;  
     
    } 
    else {
      row2.c2 = mavar; 
    }

Discussions similaires

  1. Envoyé une valeur d'un composant tJava vers une tMap
    Par flash22 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 24/03/2011, 10h19
  2. Mémorisation d'une valeur calculée
    Par christophez dans le forum IHM
    Réponses: 5
    Dernier message: 13/07/2007, 16h50
  3. Réponses: 5
    Dernier message: 08/05/2007, 12h56
  4. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo