Hi all, I am a novice to SAS programming, but I am trying to rename a large amount of variables existing in multiple files using macro. Following is my current code. I have put the old name of variables in a list variable num_vars and newname is also a list containing the new names. The old list of variables contain names with different special characters (such as #, ', ", etc). I have gone through some posts here but they did not answered my question. In the following code I have right now, I am getting an issue whenever SAS reads the statement: %qscan(&vars,&i) = %qscan(&newname,&i," "); I used qscan() in an attempt to contain the special characters, but it didn't work well. Any suggestions on how I can fix the below code would be greatly appreciated. %macro rename(LIB,DSN,newname);
proc sql noprint;
select nliteral(name) into:vars1 -
from dictionary.columns
where libname=%upcase("&LIB") and memname=%upcase("&DSN")
order by VARNUM;
%let num_vars=&sqlobs;
run;
proc datasets library = &LIB;
modify &DSN;
rename
%do i = 1 %to &num_vars.;
%qscan(&vars,&i) = %qscan(&newname,&i," ");
%end;
run;
quit;
%mend rename; Thanks in advance.
... View more