2016-11-16 52 views
-1

我有这个条件宏编译没有错误,但逻辑似乎不工作。如果小时数小于2,应打印“不够”,如果打印2或更多,则应打印出“足够的小时数”之类的内容。sas条件宏,逻辑不工作

%macro methours; 

%if hours lt 2 %then footnote 'does not meet requirement '; 

%else 
footnote ' is enough study hours '; 

    %mend methours; 

回答

0

h大于数字2所以%ELSE条款将一直执行。如果HOURS是宏变量,则使用&hours来测试其值。

您可能还需要另一个分号来标记FOOTNOTE语句的结尾。你现在拥有的是宏代码的一部分。您可以添加%do ... %end以使其更清晰。

%if ... %then %do; 
    footnote ... ; 
%end; 
+0

谢谢我会试试 – kahunabee