Bonjour,
Je voudrais savoir comment on peut faire pour récupérer le nombre d'observations(cad le nombre de lignes) d'une table sas et pouvoir le stocker dans une variable.
Merci.
Bonjour,
Je voudrais savoir comment on peut faire pour récupérer le nombre d'observations(cad le nombre de lignes) d'une table sas et pouvoir le stocker dans une variable.
Merci.
Bonjour
Une solution :
Avec ce code le nombre de lignes de la table MaTable est envoyé dans la variable nbligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 proc sql noprint; select count(*) into :nbligne from MaTable; quit;
cette macro n'est 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 %MACRO OBSNVARS(DS); /* DS = TABLEAU DONT ON VEUT CONNAITRE LE NOMBRE D'OBSERVATIONS ET DE VARIABLES */ %GLOBAL NVARS NOBS; %LET NVARS=0; %LET NOBS=0; %LET DSID = %SYSFUNC(OPEN(&DS,I)); %IF &DSID > 0 %THEN %DO; %LET NOBS = %SYSFUNC(ATTRN(&DSID,NLOBS)); %LET NVARS = %SYSFUNC(ATTRN(&DSID,NVARS)); %LET RC = %SYSFUNC(CLOSE(&DSID)); %END; %ELSE %PUT %SYSFUNC(SYSMSG()) - ERREUR DANS L%STR(%')OUVERTURE DU TABLEAU &DS; %MEND OBSNVARS; %OBSNVARS(BIDON); %PUT &NOBS; %PUT &NVARS;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 DATA _null_; SET TABLE END=eof; /*eof=end of file*/ IF eof THEN DO; CALL SYMPUT('nb',put(_N_,8.)); /*récupère dans le n° de la derniere obs END; run; %put &nb;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager