下面程序是我用来生成行业控制变量的。%macro create_dumy;data b;
set csmar.c1;
%do i=1 %to &n.;dumy_&i=0;%end;
select(行业代码);
%do i=1 %to &n.;
%let val=%scan(&values.,&i);
when("&val.") dumy_&i=1;
%end;
otherwise put '0';end;
proc print data=b;run;
%mend;
%create_dumy;
| Obs | 股票代码 | 截止日期 | 行业代码 | 总资产净利润率(ROA)B | 总资产净利润率(ROA)TTM |
| 1 | 1 | 2010/3/31 | J66 | 0.00261 | 0.0096 |
| 2 | 2 | 2010/3/31 | K70 | 0.00822 | 0.0492 |
| 3 | 2 | 2010/3/31 | K70 | 0.00822 | 0.0492 |
但是随后生成的dumy_&i全部都是0,请问可以怎么改进呢??是否行业代码那一栏需要是数值??