Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2007, 15h55   #1
Membre habitué
 
Inscription : juillet 2006
Messages : 284
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 284
Points : 107
Points : 107
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 :
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.
ash_rmy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 09h12   #2
Responsable SAS
 
Inscription : septembre 2006
Messages : 1 973
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 973
Points : 4 807
Points : 4 807
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, .....
fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 22h04   #3
Membre habitué
 
Inscription : juillet 2006
Messages : 284
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 284
Points : 107
Points : 107
merci pour l'aide.

je me suis fait une macro qui marche pas mal :

Code :
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);
ash_rmy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h02.


 
 
 
 
Partenaires

Hébergement Web