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

SAS Base Discussion :

Passage de colonne en ligne


Sujet :

SAS Base

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'études statistiques
    Inscrit en
    Octobre 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 63
    Points : 51
    Points
    51
    Par défaut Passage de colonne en ligne
    Bonjour à tous,

    Nous nous permettons de vous solliciter car nous sommes en galère sur la réalisation de l'un de nos programmes.
    Nous avons une base sous ce format :

    Identifiant Var1 Var2 Var3 Var4
    075... 50 70 0 14
    078... 10 14 3 80

    Les valeurs présentes dans les variables sont des effectifs.

    Nous souhaiterons obtenir une base avec l'identifiant, le nom de la variable dans une nouvelle variable et les effectifs correspondant dans une troisième.

    Identifiant Nouvelle_var Effectifs.
    075..... Var 1 50
    075..... Var 2 70
    .....
    078.... Var 1 10

    Auriez vous une idée pour nous sortir de l'embarras ?

    Merci à vous pour votre coup de main.

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Des idées oui ... tout le temps mais est-ce les bonnes

    Basiquement, si j'ai bien compris le problème,
    je ferais 4 requêtes insert
    Remarque : La Syntaxe SQL SAS sera sans doute à adapter ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into nouvelle_table (Identifiant, Nouvelle_var, Effectifs)
    select identifiant, 'Var1',var1 from ancienne_table;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into nouvelle_table (Identifiant, Nouvelle_var, Effectifs)
    select identifiant, 'Var2',var2 from ancienne_table
    etc.
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonjour,

    Une simple Proc Transpose devrait faire l'affaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    data test;
    input Identifiant :$3. Var1 Var2 Var3 Var4;
    cards;
    075 50 70 0 14
    078 10 14 3 80
    ;
    run;
     
    proc transpose data=test out=test2 (rename=(col1=effectifs)) NAME=Nouvelle_Var;
    by Identifiant;
    run;

Discussions similaires

  1. [XL-2003] passage d'une colonne en ligne
    Par babou466 dans le forum Excel
    Réponses: 2
    Dernier message: 24/08/2010, 21h21
  2. Requête SQL : Afficher les colonnes en ligne, et vice versa
    Par paflolo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/03/2009, 09h16
  3. [SQL] Transposer des colonnes en lignes + LIKE et SOUNDEX
    Par Anne1969 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/11/2005, 13h44
  4. transformer des colonnes en lignes
    Par flonardi dans le forum Oracle
    Réponses: 13
    Dernier message: 28/10/2004, 12h43
  5. sélection colonnes et lignes d'une dbgrid
    Par propa dans le forum Bases de données
    Réponses: 6
    Dernier message: 13/05/2004, 10h32

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