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 :

Compter le nombre de modalités d'une variable alphanumérique


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Compter le nombre de modalités d'une variable alphanumérique
    Bonjour,

    Ma question est la suivante : comment compter le nombre de modalités prises par une variable alphanumérique dans une table SAS ?

  2. #2
    Invité
    Invité(e)
    Par défaut Comptage des valeurs distinctes d'une variable
    Bonjour,

    Voici une solution en SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql ;
    select count(distinct MA_VARIABLE) into :NBVAL from MA_TABLE ;
    quit ;
    Ce pgm compte le nombre de valeurs distinctes de la variable MA_VARIABLE et stocke ce nombre dans une macro variable appelée NBVAL.

    Bon courage
    Dernière modification par fafabzh6 ; 22/12/2008 à 18h49. Motif: Manque balise [code] [/code]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Ok merci,
    et sinon est-ce possible de stocker ces différentes modalités dans une variable pour ensuite les afficher ?

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 233
    Points : 254
    Points
    254
    Par défaut
    Dans une variable ou dans une table ?

    Dans le premier cas c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    select distinct MA_VARIABLE_SAS
    into :MA_VARIABLE_MACRO separated by ', '
    ...
    dans le deuxième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    create table MES_VARIABLES as
    select distinct MA_VARIABLE_SAS
    ...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci

  6. #6
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    Bonjour,

    est il possible de faire la même chose avec toutes les variables d'une table SAS (de façon dynamique évidemment) ??

    Merci beaucoup
    Adrien

  7. #7
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Je te propose cette solution:

    Compter les valeurs distinctes :

    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
    %macro names(table=);
     
       %let dsid=%sysfunc(open(&table,i));
     
       %do i=1 %to %sysfunc(attrn(&dsid,nvars));
       %let varlist=%sysfunc(varname(&dsid,&i));
        %global mac_&varlist;
     
       proc sql noprint;
            select count(distinct &varlist) into : mac_&varlist from &table ;
       quit ;
       %end;
     
       %let  rc=close(&dsid);
     
     
    %mend names;
     
    %names(table=sashelp.class);


    2/ Pour extraire les occurrences de chaque variable:

    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
    %macro names(table=);
     
       %let dsid=%sysfunc(open(&table,i));
     
       %do i=1 %to %sysfunc(attrn(&dsid,nvars));
       %let varlist=%sysfunc(varname(&dsid,&i));
        %global mac_&varlist;
     
       proc sql noprint;
            select distinct &varlist into :mac_&varlist separated by ' , ' from &table ;
       quit ;
     
       %end;
     
       %let  rc=close(&dsid);
     
    %mend names;
     
    %names(table=sashelp.class);
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

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

Discussions similaires

  1. Réponses: 33
    Dernier message: 02/05/2011, 11h01
  2. Compter le nombre de fois ou une variable apparait.
    Par Cyanatide dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 29/03/2011, 12h48
  3. COmpter le nombre de caractére dans une variable
    Par oliv27400 dans le forum MATLAB
    Réponses: 2
    Dernier message: 10/06/2010, 15h17
  4. récupérer le nombre de modalité d'une variable
    Par AlexFred dans le forum SAS Base
    Réponses: 3
    Dernier message: 10/05/2010, 09h24
  5. Compter le nombre de vide dans une table / variable
    Par diombo dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/05/2009, 00h32

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