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 :

Décomposer les valeurs d'une colonne en plusieurs lignes


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 106
    Points : 54
    Points
    54
    Par défaut Décomposer les valeurs d'une colonne en plusieurs lignes
    Bonjour à tous, j'ai une colonne d'une table de type integer de longueur 400 qui contient des codes sur 4 positions mais concaténés
    exemple:
    1ere ligne 005200680015
    2eme ligne 0012
    3eme ligne 00360027
    et ainsi de suite la taille de chaque valeur est soit 4, 8 , 12 ,,,
    je veus decouper cette colonne en une seule colonne de longueur de 4 (fixe) c'est dire la 1ere ligne et découper en 3 lignes et j'aurais donc:
    1ere ligne 0052
    2eme ligne 0068
    3eme ligne 0015
    4eme ligne 0012
    5eme ligne 0036
    6eme ligne 0027 , et ainsi de suite.
    j'ai vu sur un forum qu'il faut utiliser le tDenormalize.
    Merci beaucoup pour vos réponses.

  2. #2
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Je te conseille de faire comme suivant ( j'ai testé chez moi et ça marche ) :

    Tu crée la routine suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static String mettreVirguleAprs4Caractere(String a) {
     
            if (a == null)
                return null;
     
            for (int i = 4, j = 0; i < a.length(); i = i + 4, j++) {
                a = new StringBuffer(a).insert(i + j, ",").toString();
     
            }
     
            return a;
     
        }
    Cette routine prends chaque String que tu luis donnes et elle le transforme en mettant des virgule après chaque 4 caractère, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mettreVirguleAprs4Caractere("065789658963");
    aura comme résultat :

    0657,8965,8963,
    Après tu places cette routines dans un tMap qui aura comme entré les lignes de ton fichier et donnera en sortie les lignes avec les virgules (grâce à la routine bien sûr)

    Finalement tu relies la sortie de ton tMap à un tNormalize à qui tu donnes comme séparateur d’éléments ","

    Et voilà le tour est joué !!

    bonne chance.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 106
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup pour ta réponse, j'ai une autre contrainte c'est que je ne connais pas JAVA, j’insère ce code dans quel composant dans tjava ou dans l’expression du tmap, je sais que je suis trop assisté, mais patiente avec moi s'il te plait.

  4. #4
    Membre émérite
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Points : 2 684
    Points
    2 684
    Par défaut
    Il faudrait créer une routine et y créer la fonction que je t'ai envoyé.
    Regarde ce tuto il explique pas à pas comment créer une routine et comment l'utiliser dans un tMap.

    http://haskouse.developpez.com/tutor...ation-routine/
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/12/2011, 17h12
  2. [VBA-E] Eclater les valeurs d'une cellue sur plusieurs colonnes
    Par sosophie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 08h41
  3. Toutes les valeurs d'une colonne - Tableau à 2D
    Par Bridou dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 16h05
  4. requete pour compter les valeurs ds une colonne
    Par smariteau dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/02/2006, 17h37
  5. intervertir les valeurs dans une colonne d'une table
    Par hammou dans le forum Débuter
    Réponses: 2
    Dernier message: 26/01/2004, 10h15

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