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 :

Transposer une forme tabulaire (Table SGBD) vers une forme matricielle (Excel).


Sujet :

Développement de jobs

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Transposer une forme tabulaire (Table SGBD) vers une forme matricielle (Excel).
    Bonjour,

    Je cherche à transposer cette forme tabulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ---------------------------------------------
    emp_id  | ques_id |ques_label |emp_response 
    ---------------------------------------------
    001     | 001     | "foo?"    | yes
    001     | 002     | "bar?"    | yes
    001     | 003     | "joe?"    | no
    002     | 001     | "foo?"    | no
    002     | 002     | "bar?"    | no
    002     | 003     | "joe?"    | yes
    003     | 001     | "foo?"    | no
    003     | 002     | "bar?"    | no
    003     | 003     | "joe?"    | yes
    [etc...]
    ---------------------------------------------
    Vers la forme matricielle suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -----------------------------------
    emp_id | "foo?" | "bar?" | "joe?"
    001    | yes    | yes    | no
    002    | no     | no     | yes
    003    | no     | no     | yes
    [etc...]
    -----------------------------------

    J'ai essayé avec tMap et regardé si on pouvait le faire avec un tUnPivot mais je bute sur la création dynamique de colonnes et ensuite je ne vois pas comment adresser matriciellement une "cellule" sous Talend.

    Merci pour toute aide ou suggestion

    Cyt

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    J'ai trouvé la solution.

    Tout est expliqué sur ce post de blog: et cette vidéo Youtube


    Le principe est tout simple. Un tSortRow pour trier les données en entrée puis un tPivotToColumns.

    J'essayerai de poster les snapshots par rapport à mon exemple du départ.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Pour ceux que ça intéresse, je joins en fichiers attachés les copies d'écrans inhérentes au problème exposé et inspiré du billet de blog référencé ci-dessus.


    Le point important c'est la configuration du tPivotToColumn sur l'image 4.

    Bien choisir la colonne Pivot et la colonne d'agrégation ainsi que choisir "premier" comme fonction d'agrégation...


    Hope this helps...
    Images attachées Images attachées      

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2014, 20h58
  2. Comment copier une table (sqlite) vers une autre
    Par fadsys dans le forum PureBasic
    Réponses: 1
    Dernier message: 19/10/2009, 14h51
  3. Réponses: 2
    Dernier message: 13/10/2009, 12h55
  4. Copie d'indexs, contraintes d'une table A vers une table B
    Par Heytabernak dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 29/08/2008, 13h10
  5. Réponses: 8
    Dernier message: 21/04/2006, 16h50

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