循环SAS中的字符值

Mat*_*ías 2 macros loops character sas

在Stata中,可以使用foreach命令遍历字符值列表。到目前为止,我一直在尝试在SAS中执行相同的操作,但无济于事。我正在尝试对character column的所有值运行一系列数据和proc语句。我尝试了以下方法:

%let mylist = a b c; * These are all the values of a column called "code";

data mydata_@mylist; * Each element creates a new table;       
   set mydata;   
   where code=&mylist; 
   run;
Run Code Online (Sandbox Code Playgroud)

我在做什么错还是想念?

提前致谢,

马蒂亚斯

Dom*_*azz 5

尝试这个:

%macro loopit(mylist);
   %let n = %sysfunc(countw(&mylist));
   %do I=1 %to &n;
      %let val = %scan(&mylist,&I);

      data mydata_&val;
         set mydata;
         where code = "&val";
      run;
   %end;
%mend;

%let list=a b c;
%loopit(&list);
Run Code Online (Sandbox Code Playgroud)