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 :

Plusieurs fichiers excel par rapport à une requete


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut Plusieurs fichiers excel par rapport à une requete
    Bonjour,

    J'ai un soucie, je souhaite créer plusieurs fichiers excel par rapport à une colonne de ma requête sql. En fait cette colonne contient les divisions de ma boite, j'aimerais créer un fichier excel par division. J'arrive bien à isoler les divisions avec un tUniqRow mais comment créer un fichier par division et comment retrouver toute mes données ? C'est la dessus que je bloque.

    Pour le moment j'ai fait :

    SQL --Main--> tUniqRow --Unique-->TfileOutputExcel

    Merci d'avance...

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Voici une piste :

    SQL -> main-> tUniqRow(division) ->Uniques-> tFlowToIterate -> iterate -> tJava (stockage de la division, globalMap par exemple) -> OnComponentOK -> Traitement par division -> Ecriture dans l'excel pour la division en cours de traitement.

    Avec le tUniqRow il va boucler sur chaque division avec le tFlowToIterate.

    En espérant que ça t'aide.

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Merci, je vais essayer ca

  4. #4
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Je ne comprend pas un truc, j'ai stocké ma division dans mon tjava par contre je ne vois pas ce qu'il faut faire aprés, est-ce que je relance ma requête avec en paramétre les divisions ?

  5. #5
    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,

    Pour compléter la réponse de XxArchangexX.

    L'idée est dans un premier temps identifier la liste de tes divisions :

    SQL --main-> tUniqRow(division) -->Uniques-> tFlowToIterate --iterate -> ...

    Et dans un deuxieme temps de faire ton traitement pour chaque division, créer ton fichier excel

    SQL --main-> tMap --main-> tfileOutputExcel


    Donc a mon avis voici le modèle a suivre :

    tDBinput_1 --main-> tFlowToIterate --iterate-> tDBInput_2 -- tMap --> tFileOuputExcel.

    Le tDBInput_1 ne fait qu'un select distinct sur tes divsions, tu auras directement la liste .
    le tDBInput_2, tu fais ta requête d'extraction par division. Le composant tFlowToIterate produit une variable global contenant la division a traiter.
    Tu obtiens cette variable dans la vue outline(En)/structure(FR) ou par auto complétion en tapant le nom du composant tFlowToIterate.
    La variable globale est de la forme (String)globalMap.get("tFlowToIterate_1_division") . Tu utilises cette variable dans le query No 2 comme paramètre.

    Astuce : Le lien iterate peut être parallélisé pour aller plus vite.

  6. #6
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Merci, oui c'est ce que j'ai fait, j'ai posé ma question trop rapidement..

    En tout cas Merci beaucoup, ca fonctionne nickel.

    Dernière petite question, sur un fichier excel comment faire pour transformer des lignes en colonne ?
    Je ne sais pas comment formuler ma recherche sur google.

    Merci d'avance

  7. #7
    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,

    N'oublie pas de passer le sujet en résolu et d'ouvrir un autre sujet pour une autre question.

    Pour passer de ligne en colonne dans excel, il y a le copier / coller spécial transposé.
    Dans Talend, tu as la famille des composants TNormalize et tDenormalize

  8. #8
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    ok merci beaucoup, je vais regarder les composants que tu as cité et revient si j'ai des question.

    Merci pour l'aide

  9. #9
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Re,

    Bonne nouvelle

    Dernière petite question, sur un fichier excel comment faire pour transformer des lignes en colonne ?
    Il faudrait une description du traitement voulu. Comme ça il y a le composant tNormalize et le tDenormalize, mais ils ont besoin du séparateur entre chaque données pour les mettre en colonne et vu qu'Excel fonctionne par cellule, peut être passer par un fichier intermédiaire, un csv ; par exemple.

  10. #10
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Encore merci pour cette aide,

    En gros le traitement voulu est, j'ai mes colonnes qui sont organisés en titre, exemple : Excercie Mois Usine Usine_Secteur etc..
    Est j'aimerais les transformer en ligne un peu comme sur excel ou l'on fait transposer, exemple :
    Excercie,
    Mois,
    Usine
    Usine_Secteur

    Je ne sais pas si j'ai réussi à être clair, j'éspere avoir utilisé les bons termes parce que moi et excel...

    Merci d'avance

  11. #11
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Jamais fait , mais voici une piste qui fonctionne sur un test :

    J'ai mis en pièce jointe une petite image pour décrire mon idée.

    au début :

    test1 test2 test3
    1 2 3
    2 4 5
    6 1 8

    à la fin
    test1 1 2 6
    test2 2 4 1
    test3 3 5 8

    Avec le tDenormalize on remonte les données de toutes les colonnes séparées par un ; sur la même ligne, dans le tMap on rajoute à la fin de chaque colonne (future ligne) un \n, au final on envoie les données dans un csv. Le csv a une bonne tête.

    Quelqu'un aura peut être une solution plus rapide, c'est une intuition pour une piste, si j'ai un peu temps je regarderai s'il y a mieux.
    Images attachées Images attachées  

  12. #12
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Oui je vais tester cette solution, mais je vais d'abord clarifier la demande avec mes collegues, parce qu'elle n'est pas claire.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un flux avec plusieurs fichier Excel dépendant d'une des variables du flux
    Par dev_ggy dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 24/01/2012, 17h16
  2. ouvrir un fichier excel par rapport a une listbox
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2010, 11h29
  3. Creer un fichier excel apartir d'une requete dynamique
    Par cyclopsnet dans le forum iReport
    Réponses: 3
    Dernier message: 12/08/2009, 15h58
  4. Réponses: 1
    Dernier message: 18/06/2009, 14h49
  5. Recherche nom d'une feuille Excel par rapport à une variable
    Par depi67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/10/2008, 08h43

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