Оператор IN
работает в макросе SAS 9.2, но вам необходимо определить параметры системы. MINOPERATOR
(Macro-In-Operator) должен быть включен, и в вашем случае также должен быть указан MINDELILITER
, поскольку вы используете значения, разделенные запятыми.
Дополнительную информацию можно найти в Получение оператора IN для ФУНКЦИОНИРОВАНИЯ внутри макроса SAS®.
options minoperator mindelimiter=',';
%if %sysfunc(day(%sysfunc(today())-1)) in (5,11,16,22,28) %then %do;
%put do smth...;
%end;
do smth...
Обратите внимание на -1
в приведенном выше примере, чтобы воспроизвести 22 марта.
71 должна быть версией чего-то другого, например Enterprise Guide или SAS/Studio. Вы не можете использовать SAS 7.1, они никогда не делали SAS 7.1. Был недолговечный SAS 7, но на самом деле следующей версией после SAS 6 была SAS 8. Текущая версия SAS — 9.4, у которой было много выпусков обслуживания.
Да, это SAS Enterprise Guide версии 7.13. :(
Enterprise Guide — это всего лишь инструмент с графическим интерфейсом, который вы используете для отправки кода SAS. Знание этого не помогает. Какая версия SAS работает с кодом SAS? Проверьте значение переменной автоматического макроса SYSVLONG.
Вижу. это v9.04. Но я не знаю, почему он до сих пор не работает. Как я могу поделиться с вами своим экраном?
Я работаю на 9.04.01M6P110718
и это работает.
Отличная новость, это сработало. Я перезагрузил свой компьютер и обратился к вашему предложению. Большое спасибо ххх.
Рад, что это сработало. Пожалуйста, рассмотрите возможность принятия ответа, если вы считаете, что это решает проблему.
Большое спасибо, Кермит, я пытался, но все равно не работает. честно говоря, я использую SAS 7.1. Вы знаете какое-нибудь решение для этой версии?