Попробуйте еще раз. Этот код не будет работать. Это глупый код, но он все еще не работает.Переменная макроса SAS не будет разрешена
data work.colnames;
input cols $;
cards;
U1
B1
;
run;
data work.test;
input rp_U1 $ rp_B1 $;
cards;
col1 col2
;
run;
%macro maketest;
proc sql;
select cols
into :col separated by " "
from colnames;
quit;
%do i=1 %to 2;
%let c = %qscan(&col,&i);
%put rp_&c;
proc sql;
create table test&i as
select
rp_&c
from work.test;
quit;
%end;
%mend;
%maketest;
Я получаю эту ошибку:
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, ',', -, '.', /, <, <=, <>, =, >, >=, ?, AND, AS,
CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
Что я нахожу странным, если я пытаюсь получить столбцы без rp_ этот код работает поиск. Кроме того, измените
select
rp_&c
к
select
&c
поворот на MPRINT (опций 'MPRINT;') и прикрепить журнал к вопросу. Нам будет намного легче помочь вам отладить эту проблему. – DomPazz