|
|
沙发

楼主 |
发表于 2009-8-28 20:17:11
|
只看该作者
Re: 请教:如何根据某个字段的值做循环
[code:12fqnhhy]%macro do_by_var_list(inds,id_var);
options nosymbolgen nomprint;
proc sql;
create table &id_var._list as
select distinct &id_var as name from &inds;
quit;
%let dsid=%sysfunc(open(&id_var._list,i));
%syscall set(dsid);
%let nobs=%sysfunc(attrn(&dsid,nobs));
%do i=1 %to &nobs;
%let rc=%sysfunc(fetchobs(&dsid,&i));
/* by变量的variable name:&id_var */
/* by变量的value:&id_var(character的变量用"") */
/* some statements */
proc print data=&inds(where=(&id_var="&name"));
run;
%end;
%let rc=%sysfunc(close(&dsid));
proc delete data=work.&id_var._list;
quit;
%mend do_by_var_list;
%do_by_var_list(sashelp.class,sex)[/code:12fqnhhy] |
|