【发布时间】:2016-12-12 22:05:53
【问题描述】:
您好,我有用于特定任务的通用宏,我如何自动调用宏,并编译并执行相应的宏。我尝试在日志中运行定义的宏,然后调用特定的宏调用,但速度很慢,但是当我运行所需的宏调用时,任何人都可以提供另一种自动执行宏的解决方案...提前致谢。
下面是我的宏的位置-->
F:\SAS\BI\macro
以下是我在该位置的示例宏-->
%macro rand(dsn1=,dsn2=,odsn=);
Data &dsn1;
do i=1 to 27;
t=rand("uniform")*40;
do j=1 to 10;
w=rand("uniform");
bj=0.2;
sigma=0;
sigma+(t*w)+bj;
y=1/(1+exp(-sigma));
output;
end;
end;
run;
Data &dsn2;
set &dsn1(keep=y);
do j=1 to 10;
*y=y;
do k=1 to 5;
w2=rand("uniform");
bk=0.3;
sigma2=0;
sigma2+(y*w2)+bk;
z=1/(1+exp(-sigma2));
output;
end;
end;
run;
data &odsn;
set &dsn1 &dsn2;
run;
%mend;
%rand(dsn1=numerics.itoh,dsn2=numerics.htoo,odsn=numerics.itoo);
【问题讨论】:
-
你能解释一下什么是太慢了吗?如果宏运行缓慢,我不确定您能做些什么,除了修改宏以使其更高效。