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ébutez Discussion :

Transformer des colonnes en lignes


Sujet :

Débutez

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 20
    Points
    20
    Par défaut Transformer des colonnes en lignes
    Bonjour à tous,

    Je souhaiterais savoir si il était possible de transformer des colonnes en lignes, je m'explique avec un exemple :

    refArticle - Campagne1 - Campagne2 - Campagne3

    article1 - valeur1_1 - valeur2_1 - valeur3_1
    article2 - valeur1_2 - valeur2_2 - valeur3_2
    article3 - valeur1_3 - valeur2_3 - valeur3_3
    ...

    Et je souhaite obtenir :

    Campagne1 - article1 - valeur1_1
    Campagne1 - article2 - valeur1_2
    Campagne1 - article3 - valeur1_3
    Campagne2 - article1 - valeur2_1
    Campagne2 - article2 - valeur2_2
    Campagne2 - article3 - valeur2_3
    Campagne3 - article1 - valeur3_1
    Campagne3 - article2 - valeur3_2
    Campagne3 - article3 - valeur3_3
    ...

    En fait ma première table est le résultat d'une proc transpose, je l'ai ensuite manipulée (chose que j'ai pas réussi à faire sans la transposition) et je voudrais en quelques sortes la "retransposer" pour revenir à la structure de la table d'origine (celle qui a été transposée). Est ce possible ?

    Voili voilou en espérant avoir été assez clair !

    Merci d'avance pour votre aide.

    Statistiquement,

    Geoffrey.

  2. #2
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Hello,
    oui il faut la REtranspose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    data test;
    infile cards dlm='-';
    input 
    (refArticle  Campagne1  Campagne2  Campagne3 )(: $15.);
    cards;
    article1 - valeur1_1 - valeur2_1 - valeur3_1 
    article2 - valeur1_2 - valeur2_2 - valeur3_2
    article3 - valeur1_3 - valeur2_3 - valeur3_3
    ;run;
     
    proc transpose data=test out=test1;
    by  refArticle;
    var campagne:;
    run;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta réponse, en fait je ne sais jamais combien de campagnes je vais rencontrer mais tu m'as mis sur la piste ! A la place de recopier les campagnes j'ai utilisé une proc contents et récupérer les noms de mes campagnes dans une liste, et puis j'ai transposé le tout !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    proc transpose data=test out=test1(rename=(_NAME_=campagne COL1=pourcentage));
    by no_article;
    var &list;
    run;
    J'étais parti pour créer un data pour chaque colonne avec une boucle puis ensuite les concaténer ..

    Merci à toi !

  4. #4
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Si tes variables commencent toutes par compagne, pk ne pas utiliser le JOCKER ( : ) comme dans l'exemple que j'ai donné?
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Tout simplement car je ne connaissais pas ! Il arrive que je tombe sur des cas particulier pour les campagnes donc je ne vais pas l'utiliser ici mais j'imagine que ça me servira bien un jour ou l'autre ! Merci !

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

Discussions similaires

  1. [AC-97] Transformer des colonnes en lignes
    Par rogerfon dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/07/2014, 12h17
  2. transformer des colonnes en ligne
    Par noolog dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 21/02/2013, 11h19
  3. Transformer des colonnes en plusieurs lignes
    Par boubadia dans le forum Autres
    Réponses: 2
    Dernier message: 29/06/2012, 12h39
  4. Transformer des colonnes en lignes
    Par marman dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/11/2006, 17h43
  5. transformer des colonnes en lignes
    Par flonardi dans le forum Oracle
    Réponses: 13
    Dernier message: 28/10/2004, 12h43

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