问题是:
有一个数据文件,里面含有名称为envi的变量,总共有很多值,如:NPH,AVR,SOM……;现在需要将这几组分别输出到不同的数组里面。
因为考虑到envi值可能有很多,想用循环来解决。程序如下(假定它有3个值):
/*定义几个宏变量*/
%let mmm=magic.Detailed_cards_table;
%let m1=NPH;
%let m2=AVR;
%let m3=SOM;
/*定义宏XHUan*/
%macro xhuan;
%do i=1 %to 3;
data b&i;
set &mmm;
%if envi=&&m&i.. %then output b&i;
run;
proc print ;
run;
%end;
%mend xhuan;
/*执行循环*/
%xhuan
但是b1 b2 b3中的观测值个数都等于&mmm的值个数,根本没达到分组的效果。
请问是哪出了问题了?