Как установить условие макроса для сегодняшнего дня в любом из списка

Я хочу установить запуск кода в днях: 5,11,16,22,28 в месяц, но это не работает.

%if %sysfunc(day(%sysfunc(today()))) in (5,11,16,22,28) %then %do

Как я могу это исправить? Спасибо большое.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Оператор 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 марта.

Большое спасибо, Кермит, я пытался, но все равно не работает. честно говоря, я использую SAS 7.1. Вы знаете какое-нибудь решение для этой версии?

Như Lê 23.03.2022 14:10

71 должна быть версией чего-то другого, например Enterprise Guide или SAS/Studio. Вы не можете использовать SAS 7.1, они никогда не делали SAS 7.1. Был недолговечный SAS 7, но на самом деле следующей версией после SAS 6 была SAS 8. Текущая версия SAS — 9.4, у которой было много выпусков обслуживания.

Tom 23.03.2022 14:34

Да, это SAS Enterprise Guide версии 7.13. :(

Như Lê 23.03.2022 14:52

Enterprise Guide — это всего лишь инструмент с графическим интерфейсом, который вы используете для отправки кода SAS. Знание этого не помогает. Какая версия SAS работает с кодом SAS? Проверьте значение переменной автоматического макроса SYSVLONG.

Tom 23.03.2022 14:58

Вижу. это v9.04. Но я не знаю, почему он до сих пор не работает. Как я могу поделиться с вами своим экраном?

Như Lê 23.03.2022 15:13

Я работаю на 9.04.01M6P110718 и это работает.

Kermit 23.03.2022 15:17

Отличная новость, это сработало. Я перезагрузил свой компьютер и обратился к вашему предложению. Большое спасибо ххх.

Như Lê 23.03.2022 15:23

Рад, что это сработало. Пожалуйста, рассмотрите возможность принятия ответа, если вы считаете, что это решает проблему.

Kermit 23.03.2022 15:33

Другие вопросы по теме