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 :

Ordre des variables [DATA]


Sujet :

SAS Base

  1. #1
    Membre du Club
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Ordre des variables
    Bonjour,

    j'ai crée une table SAS qui contient un identifiant puis des varaibles var1 à var10. Mon souci est que ces variables ne se présentent pas dans ma table dans l'ordre croissant, or c'est ce dont j'ai besoin.
    Dans ma table, j'ai par exemple:
    identif var3 var 9 var1 var6....
    Et je voudrais:
    identif var1 var2 var2 var4....

    Existe-t-il un moyen direct càd sans faire des bidouilles avec une macro comme je l'ai fait ?

    Merci de votre aide.

    Olive.

  2. #2
    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 petite étape data avec un keep de l'ordre désiré devrait le faire ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    data test2 (keep=identif var1-var10);
    set test;
    run;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Si tu veux conserver ton ordre tu peux passer par une PROC SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    PROC SQL;
    CREATE TABLE TEST
    AS SELECT
    IDENTIF,V1,V2,V3,V4,V5,V6,V7,V8,V9
    FROM matable;
    QUIT;
    Par contre si tu as bcp de variables ça risque d'etre fastidieux de les taper toutes une à une.

    je ne suis pas sûr que l'étape data te donnera l'odre que tu veux, en passant par keep ou drop. Normalement il garde l'odre des variables dans la table indiquée par set.

  4. #4
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Si il y a plusieurs variables, tu peux utiliser la proc contents, trier la table résultat sur variable qui contient les noms des variables, après créer une macro avec un séparateur "," et l'ajouter à la proc sql ; create...
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  5. #5
    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
    Citation Envoyé par ibrahima13 Voir le message

    je ne suis pas sûr que l'étape data te donnera l'odre que tu veux, en passant par keep ou drop. Normalement il garde l'odre des variables dans la table indiquée par set.
    Oui effectivement, je ne sais pas pourquoi j'avais en tête un keep
    Par contre passer par une étape data reste possible avec un retain (avant le set), mais il faut toujours saisir les noms des variables dans l'ordre que l'on veux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA test2;
    retain identif var1-var10;
    SET test;
    run;
    J'avais utilisé un jour une petite manip en proc sql avec les dictionnary tables, mais il faudrait que je remette la main sur mon code !

  6. #6
    Membre du Club
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Merci pour les conseils!

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

Discussions similaires

  1. Ordre des variables dans une table
    Par stefsas dans le forum SAS Base
    Réponses: 6
    Dernier message: 02/09/2014, 10h22
  2. Réponses: 11
    Dernier message: 07/12/2011, 07h11
  3. [ODS] PROC TABULATE: Définition de l'ordre des variables
    Par id301077 dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 07/11/2011, 15h10
  4. [surf] Ordre des variables
    Par Myrne dans le forum MATLAB
    Réponses: 1
    Dernier message: 26/06/2010, 18h29
  5. Réarranger l'ordre des variables
    Par ash_rmy dans le forum SAS Base
    Réponses: 2
    Dernier message: 16/03/2008, 13h32

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