/* Macro to convert all uppercase variables in SAS data file to lowercase. Useful before converting a SAS file to Stata files */ %macro convert_vars_lowcase(upcsfile); %let datafile=%sysfunc(open(&upcsfile)); %let nr_vars=%sysfunc(attrn(&datafile,nvars)); %put &nr_vars; data &upcsfile; set &upcsfile(rename=(%do i = 1 %to &nr_vars; /*function of varname returns the name of a SAS data set variable*/ %let var&i=%sysfunc(varname(&datafile,&i)); &&var&i=%sysfunc(lowcase(&&var&i)) /*rename all variables*/ %end;)); %let close=%sysfunc(close(&datafile)); run; %mend convert_vars_lowcase;