Versuchen Sie es erneut. Dieser Code wird nicht funktionieren. Es ist ein dummer Code, funktioniert aber immer noch nicht.SAS-Makrovariable wird nicht aufgelöst
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;
ich tun, um diese Fehlermeldung erhalten:
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, ^=, |, ||, ~=.
Was ich seltsam finde ist, wenn ich versuche, die Spalten ohne rp_ Dieser Code funktioniert für Sie zu bekommen. Ändern Sie auch
select
rp_&c
zu
select
&c
wiederum auf mprint ('Optionen mprint;') und das Protokoll auf die Frage anhängen. Es wird viel einfacher für uns sein, Ihnen bei der Fehlersuche zu helfen. – DomPazz