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 :

Proc tabulate et format : tri des variables


Sujet :

SAS Base

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 37
    Par défaut Proc tabulate et format : tri des variables
    Bonjour,

    J'utilise la proc tabulate avec un format pour mes variables de classification.
    Lorsque j'affiche mon résultat, j'obtiens le bon tableau mais mes variables sont classés par ordre alphabétique.

    J'aimerais avoir un tableau avec mes variables classés de la manière dont je les ai définis dans la création de mon format.

    J'ai trouvé une petite astuce en faisant précéder les modalités de mes variables par un chiffre.

    Mais j'aimerais savoir s'il existe une option dans la proc tabulate qui permettent d'afficher les modalités de mes variables dans l'ordre définies par le format crée.

    Je vous remercie d'avance pour l'aide apportée.

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2010
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 199
    Par défaut
    Salut,

    en utilisant une proc freq recemment j'ai utilisé l'option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc freq data = test order = freq ;
    pour les avoir par fréquence décroissante.

    peut-être qu'avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     proc tabulate data = test order = data
    ou cela fonctionnera.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 37
    Par défaut
    Bonjour Mohamed_,

    Je te remercie pour ta réponse. Mais je n'obtiens pas le résultat voulu.

    Si vous avez d'autres idées, je vous en remercie d'avance.

  4. #4
    Membre Expert
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Par défaut
    Peux tu changer l'ordonnacement de tes formats?

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2010
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 199
    Par défaut
    dans le bouquin d' olivier decourt il y a un exemple je le recopie ici :

    dans un premier temps, tu définis ton fomat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROC FORMAT ;
    VALUE $type
    "Familiale","Monospace","Berline"="Grandes"
    "Camion","Tracteur" ="Utilitaires"
    "Citadine","Compacte" ="Petites"
    "Sportive" ="Sportives" ;
    RUN ;
    en suite tu l'applique dans une proc format via l'option preloadfmt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROC TABULATE DATA=livre.voitures
    (WHERE=(americaine="1")) ;
    CLASS type transmission / PRELOADFMT ;
    FORMAT type $type. ;
    TABLE type=""*transmission="", N="Nombre de modèles"
    / BOX="Catégorie" PRINTMISS MISSTEXT="0" ;
    RUN ;
    cette option doit obligatoirement etre accompagnée de l'option printmiss.

  6. #6
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 37
    Par défaut
    J'ai testé l'option preloadfmt, mais ça ne fonctionne toujours pas.
    Comme j'applique mon format à une variable numérique, l'option preloadfmt affiche les modalités suivant leurs valeurs en ordre croissant.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc format;
               value test
               1 = "D"
               2 = "A"
               5 = "B"
               4 = "C";
    run;
    J'obtiens l'ordre suivant avec l'option preloadfmt :

    D A C B

    Mais j'aimerais garder l'ordre définit dans mon format.

    Manoutz, quand tu parles d'ordonnancement, tu penses à indexer directement les libéllés par des chiffres ou lettres ?

    Si c'est le cas j'y ai déja pensé, mais je ne trouve pas le résultat très "joli".

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/05/2013, 14h23
  2. proc tabulate : utilisation des formats
    Par marlene2110 dans le forum ODS et reporting
    Réponses: 8
    Dernier message: 14/06/2011, 13h59
  3. PROC FORMAT remplaçant des chiffres par des noms de variables
    Par joyeux_lapin13 dans le forum SAS Base
    Réponses: 11
    Dernier message: 09/06/2011, 09h09
  4. PROC TABULATE : faire des tris
    Par DEMMAR dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 22/10/2008, 15h51
  5. Format pour des variables caractères
    Par CélineM dans le forum SAS Base
    Réponses: 9
    Dernier message: 13/05/2008, 17h34

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