Dans cette questionPassez un tableau dynamique à itérer proc sql
Simple iteration through array with proc sql in SAS
%macro doit(list);
proc sql noprint;
%let n=%sysfunc(countw(&list));
%do i=1 %to &n;
%let val = %scan(&list,&i);
create table somlib._&val as
select * from somlib.somtable
where item=&val;
%end;
quit;
%mend;
%doit(100 101 102);
Je veux passer une liste par macro Doït que l'on peut extraire d'un ensemble de données. Par exemple: list contient les valeurs distinctes de la variable 'age' présente dans l'ensemble de données 'agegroups'.
data agegroups;
input age;
datalines;
1
2
4
5
8
18
16
19
23;
Je regardai sur% tableau macro pour elle, mais il ne m'a pas aider (http://www2.sas.com/proceedings/sugi31/040-31.pdf)
Toute aide sera très appréciée. Merci !
On dirait que vous essayez de créer beaucoup de petits ensembles de données à partir d'un seul grand ensemble de données. Dans SAS, il est généralement beaucoup plus simple de créer un seul grand ensemble de données et d'utiliser le traitement par groupe pour faire une boucle sur des valeurs distinctes. – user667489