SAS macro ERROR 180-322: оператор недействителен или используется не по порядку
Я пытаюсь использовать макроязык SAS на сервере SAS моей компании. Остальная часть кода (SAS-base) работает нормально, а макросы - нет. Даже простой%let вызывает ошибку (это первая строка в программе):
5789 %let pgm = XXX ;
-
180
ERROR 180-322: Statement is not valid or it is used out of proper order
Я проверил системные параметры под инструментами, и опция 'macro' установлена в 1.
Кто-нибудь знает, как заставить макросы работать правильно?
Спасибо:)
1 ответ
Я бы проверил параметр макроса, запустив опции proc:
proc options option=macro;
run;
Опция макроса должна быть установлена во время вызова SAS. Поэтому вам может потребоваться проверить файл конфигурации, используемый в сеансе SAS. На сервере SAS это может означать разговор с администратором SAS, так как может быть множество файлов конфигурации для разных логических серверов....
Я смог скопировать ваши результаты в PC SAS, указав -nomacro во время вызова. Я знаю множество людей, которые ненавидят макроязык, но никогда так сильно, что они его отключают. Мой журнал после отключения макроязыка:
1 proc options option=macro;
2 run;
SAS (r) Proprietary Software Release 9.3 TS1M2
NOMACRO Do not allow use of SAS macro facility
3
4 %let x=1;
-
180
ERROR 180-322: Statement is not valid or it is used out of proper order.