如何在任何列表中设置今天的宏条件
How to set macro condition for day of today in any of list
我想将代码 运行 设置为每月 5、11、16、22、28 天,但它不起作用。
%if %sysfunc(day(%sysfunc(today()))) in (5,11,16,22,28) %then %do
我该如何解决?非常感谢。
IN
运算符在 SAS 9.2 宏中工作,但您需要定义系统选项。 MINOPERATOR
(Macro-In-Operator) 必须打开,在您的情况下,MINDELILITER
也必须指定,因为您使用的是逗号分隔值。
可以在 Getting the IN operator to FUNCTION inside a SAS® Macro
中找到更多信息
options minoperator mindelimiter=',';
%if %sysfunc(day(%sysfunc(today())-1)) in (5,11,16,22,28) %then %do;
%put do smth...;
%end;
do smth...
注意上例中的 -1
复制了 3 月 22 日。
我想将代码 运行 设置为每月 5、11、16、22、28 天,但它不起作用。
%if %sysfunc(day(%sysfunc(today()))) in (5,11,16,22,28) %then %do
我该如何解决?非常感谢。
IN
运算符在 SAS 9.2 宏中工作,但您需要定义系统选项。 MINOPERATOR
(Macro-In-Operator) 必须打开,在您的情况下,MINDELILITER
也必须指定,因为您使用的是逗号分隔值。
可以在 Getting the IN operator to FUNCTION inside a SAS® Macro
options minoperator mindelimiter=',';
%if %sysfunc(day(%sysfunc(today())-1)) in (5,11,16,22,28) %then %do;
%put do smth...;
%end;
do smth...
注意上例中的 -1
复制了 3 月 22 日。