/*
问题,我认为应该生成两张表 temp_000001 和 temp_000002,为什么最后只有一张
temp_000002 的表?
*/
data A;
input stkcd$ sn date yymmdd10.;
cards;
000001 1 2000-01-02
000001 2 2000-01-04
000001 3 2000-01-05
000002 1 1998-03-01
000002 2 1998-03-02
000002 3 1998-03-03
;
run;
data B;
input stkcd$;
cards;
000001
000002
;
run;
%Macro CAPMCal;
proc sql;
create table temp_&stockid as
select * from A where stkcd = "&stockid";
%Mend;
data B;
set B;
call symput("stockid", stkcd);
%CAPMCal;
run;