/* Listed Separately */
proc format;
invalue $varname_stdz(default=32 upcase)
'Prov_type' = 'ProvType'
'Prov_typeB' = 'ProvType'
'TXNMY_CD' = 'Taxonomy'
'TXNMY_CD1' = 'Taxonomy'
'SPEC_CD' = 'ProvSpec1'
'SPEC_CD1' = 'ProvSpec1'
other = ' '
;
run;
%macro loopy;
proc sql noprint;
select max(monotonic()) into :completion from sasfiles;
%let completion=&completion;
quit;
%put &completion.;
%let i = 1;
%do %while( &i.<= &completion.);
data _NULL_ ;
set sasfiles;
if _n_ = &i.;
call symputx('name',SAS_name);
call symputx('plan',substr(SAS_name,5,3));
run;
%put "&name.";
%put "&plan.";
%macro renameVars(tbl,infmt_stdz);
%local lib;
%let lib=%upcase(%scan(WORK.&name.,-2,.));
%let tbl=%upcase(%scan(&tbl,-1,.));
%local rename_vars;
%let rename_vars=;
proc sql noprint;
select cats(name,'=',input(name,$&infmt_stdz.32.))
into :rename_vars separated by ' '
from dictionary.columns
where
libname="&lib"
and memname="&tbl"
and not missing(input(name,$&infmt_stdz.32.))
;
quit;
%if %nrbquote(&rename_vars) ne %nrbquote() %then
%do;
proc datasets lib=&lib nolist;
modify &tbl;
rename &rename_vars;
run;
quit;
%end;
%mend;
data &name. (drop=start_date end_date);
set outdta.&name.;
/* Create plan name */
Plan="&plan.";
/* Plan_LName=put(plan, $Plan_Abbrev.);*/
/* /* Format date variables */*/;
StartDate=input(start_date, yymmdd10.);
EndDate=input(end_date, yymmdd10.);
format StartDate EndDate mmddyy10. plan $4.;
rc=dosubl(cats('%renameVars(',&name.,',',varname_stdz,');'));
run;
Ok, so here's what I have so far but it's not working. I'm not sure where I'm messing up. The result is an error message: "syntax error, expecting one of the following: ), -.. The symbol is not recognized and will be ignored.
... View more