2011-11-13 112 views
0

我寫一個宏一句SAS:關於SAS宏 - 如何使用ABS()/ STD()

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

但總有ABS()和性病的錯誤()。所以我想知道在宏中是否有特殊的規則來表達abs()和std()的功能。希望你的幫助!

回答

7

如果你想在一個宏中(並且在一個數據步驟之外)調用一個SAS函數,你需要將它包含在%sysfunc()中。

+3

另外,您需要將%eval替換爲%sysevalf,因爲這些數字不是整數。 – RWill