Я пытаюсь передать макропеременную, созданную Call symputx, которая имеет специальный символ (подчеркивание), но не в состоянии преуспеть, вот код, который я написал.
data _null_;
call symputx('name', scan( "&table" ,2,'.')); run;
%let location= E:\drives\Monthly;
Proc export data=file
outfile= "&location.\&name..txt" dbms=dlm replace;
run;
Когда макрос-переменная NAME не имеет специальных символов, код выполняется отлично, однако он показывает ошибку аутентификации или не разрешает макрос или любую другую ошибку.
Мне не хватает маски специальных символов, как мне поступить здесь?
Так вот подробности: (добавлено из комментария @Richard)
%let location=%nrstr(E:\Reports\Monthly\Updates (NEW)_UPPDATE_LIST);
%let Name = %nrstr(Table_20);
Proc export dbms=dlm
data=Newfile
replace
outfile= "&location=.\&Name..txt" ;
run;
Когда я подчеркиваю в имени таблицы, это выдает эту ошибку
ERROR: Insufficient authorization to access
E:\Reports\Monthly\Updates (NEW)_UPPDATE_LIST
Я должен добавить, что я использую оператор% include для запуска программы.