关于SAS宏 - 如何使用abs()/ std()

0 sas

我在SAS写了一个宏句:

%macro loop;
%let sigmav=0.1;
.....
%let sigmav_new=std(V);
%if abs(%eval(&sigmav-&sigmav_new))<0.001 %then %do;
......
%mend;
Run Code Online (Sandbox Code Playgroud)

但是总有abs()和std()的错误.所以我想知道在宏中是否有特殊的规则来表达abs()和std()的功能.希望对你有所帮助!

cmj*_*hns 7

如果要在宏中(以及数据步骤之外)调用SAS函数,则需要将其括在%sysfunc()中.

  • 此外,您需要将%eval替换为%sysevalf,因为数字不是整数. (3认同)