【问题标题】:sas conditional macro, logic not workingsas条件宏,逻辑不起作用
【发布时间】:2016-11-16 20:27:48
【问题描述】:

我有这个条件宏,编译时没有错误,但逻辑似乎不起作用。如果 hours 小于 2,则应打印“not enough”,如果 2 或更多,则应打印“enough hours”之类的内容。

    %macro methours;

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

%else
 footnote ' is enough study hours ';

    %mend methours;

【问题讨论】:

    标签: macros sas conditional


    【解决方案1】:

    字母h 大于数字2,因此%ELSE 子句将始终执行。如果HOURS 是一个宏变量,那么使用&hours 来测试它的值。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多