|
|
沙发

楼主 |
发表于 2008-7-15 17:15:25
|
只看该作者
自己先来抛砖引玉
不成熟的hash方法实现的原型程序,供大家参考
[code:1ms6u6yi]%macro create_multiple_outputs(
source_table=,
by_var=,
output_var=,
output_table_prefix=
);
proc sort data=&source_table out=sorted;
by &by_var;
run;
data _null_ ;
declare hash h();
h.definekey ("&by_var", "&output_var");
h.definedata("&by_var", "&output_var");
h.definedone();
do until (last.&by_var);
set sorted;
by &by_var;
h.add();
end;
h.output (dataset:"&output_table_prefix"||&by_var) ;
run ;
%mend create_multiple_outputs;
%create_multiple_outputs(
source_table=sashelp.class,
by_var=sex,
output_var=name,
output_table_prefix=out_
);[/code:1ms6u6yi] |
|