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

Macro Discussion :

Table de synthèse d'une librairie


Sujet :

Macro

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut Table de synthèse d'une librairie
    Bonjour,

    Sauriez vous comment construire une table qui ait 2 variables : le nom de table et le nombre d'observations de la table. Cette table devrait faire la synthèse de toute les tables d'une librairie TOTO.

    pour une table j'y arrive mais comment faire pour automatiser ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     %let ds=%sysfunc(open(toto.tab1));
     %let nb_obs=%sysfunc(attrn(&ds,nlobs));
     %let ds=%sysfunc(close(&ds));
     %put &nb_obs;
     
     data tablefinal;
     nom_table="tab1";
     nb_obs="&nb_obs";
     
     label 
     nom_table="Nom de la table"
     nb_obs="Nombre d'observation";
     run;
    Merci de votre aide.

    ash_rmy.

  2. #2
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 157
    Points
    16 157
    Par défaut
    Tu peux passer de façon détournée par la proc contents qui elle te liste toutes les caractéristiques d'une table (Nombre d'observation, nom et caractéristiques des variables, .....

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 289
    Points : 163
    Points
    163
    Par défaut
    merci pour l'aide.

    je me suis fait une macro qui marche pas mal :

    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
    %macro test (LIB);
     
    proc sql noprint;
     create table TEMP as
     select * from sashelp.vtable;
    quit;
     
    /*Création de la table TABLO à imprimer pour chaque librairie*/
    data TABLO;
    set work.TEMP (where=(libname="" &LIB "") keep=libname memname nobs); /*LIB à changer
    pour chaque librarie*/
      /*label 
      memname="Nom de la table"
      nobs="Nombre d'observation";*/
    run;
     
    /*Récupérer dans une feuille Excel*/
    PROC EXPORT DATA= WORK.Tablo 
                OUTFILE= "C:\Documents and Settings\A\Mes documents\My SAS Files\9.1\Book1.xls" 
                DBMS=EXCEL REPLACE;
         SHEET="&LIB"; 
    RUN;
    %mend;
     
    %test(Lib1);

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

Discussions similaires

  1. Effacer le contenu d'une librairie sauf une table
    Par mohamed_ dans le forum Débutez
    Réponses: 12
    Dernier message: 30/08/2011, 12h59
  2. Réponses: 20
    Dernier message: 26/05/2011, 16h53
  3. Importer une Table dans une librairie personnelle
    Par demido dans le forum Débutez
    Réponses: 2
    Dernier message: 02/01/2011, 10h52
  4. Supprimer tables temporaires d'une librairie
    Par Deciprog dans le forum SAS Base
    Réponses: 5
    Dernier message: 23/03/2010, 10h25
  5. Réponses: 1
    Dernier message: 02/07/2008, 16h30

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