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 :

format ordre des modalités d'une variable


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut format ordre des modalités d'une variable
    Bonjour,

    je voudrais pouvoir gérer l'ordre d'affichage des modalités d'une variable
    (pas un ordre alphabétique ou numérique) par exemple j'ai une variable type de route, et je voudrais que dans mes tableaux de fréquence et mes graphiques, les modalités soient dans un ordre spécifique à cette variable: AR puis RN puis RD puis Voies communales puis Parking, puis Autre, puis Non renseigné (ma variable est numérique avec un format associé)

    dans un diagramme en bâton, on peut gérer cela avec l'option ORDER
    dans un camembert, on peut gérer cela avec l'option MIDPOINTS

    et la, je voudrais gérer cela pour les modalités de la variable subgroup d'un diagramme en batons....

    mais est-ce que qu’on ne pourrait pas gérer cela de façon plus générale avec un proc format ?
    (est-ce qu'il y aurait plus élégant que d'ajouter a) b) c) d) devant les modalités…. ??)

    merci!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Pour être maître du tri initial de la table, ce qui me permettrait de ne plus avoir à gérer cela au niveau des graphiques, j'utiliserais, comme suggéré dans votre post, un format...

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    /* Création d'un jeu d'essai */
    DATA work.testold ;
         INPUT typeroute $ valeur ;
         CARDS ;
         AR 100
         AU 200
         .  300
         PA 400
         RD 500
         RN 600
         VC 700
         ;
    RUN;
    /* Création d'un format où l'ordre des modalités est décrit */
    PROC FORMAT;
         VALUE $Fsort
              'AR' = 1
              'RN' = 2
              'RD' = 3
              'VC' = 4
              'PA' = 5
              'AU' = 6
              ' '  = 7
         ;
    RUN ;
    /* Création d'une nouvelle variable dans la table contenant l'ordre des modalités */
    DATA work.testnew ;
         SET work.testold ;
         vrank = put ( typeroute , $Fsort. ) ;
    RUN ;
    /* Tri final et suppression de la variable temporaire de tri...*/
    PROC SORT DATA = work.testnew 
               OUT = work.testsorted ( DROP = vrank ) ;
         BY vrank ;
    RUN ;
    Bon courage !

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    merci!

    j'ai mis du temps à croire que l'ordre de tri du dataset pour la variable étudiée joue directement sur l'ordre d'affichage dans un graphique ...

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

Discussions similaires

  1. [WRS] Ordre d'affichage des modalités d'une variable dans un tableau croisé
    Par Dr Byby'San dans le forum Outils BI
    Réponses: 6
    Dernier message: 27/04/2012, 07h39
  2. Liste des modalités d'une variable : grosse table
    Par Olive2011 dans le forum SAS Base
    Réponses: 9
    Dernier message: 30/12/2011, 14h06
  3. Réponses: 3
    Dernier message: 28/06/2011, 16h07
  4. Réponses: 1
    Dernier message: 09/04/2010, 17h40
  5. Réponses: 2
    Dernier message: 07/04/2010, 03h35

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