Is there a way to change the letters in a variable name from uppercase to lowercase?
Thank you!
Use the RENAME statement in PROC DATASETS (avoiding recreating the data set):
data have;
myvar = 0;
run;
data _null_;
set have;
put _all_;
run;
proc datasets lib=work nolist;
modify have;
rename myvar=MYVAR;
run;
quit;
data _null_;
set have;
put _all_;
run;
Never did it! However, rename in a datastep should work (e.g., UNTESTED:)
data sashelp.class;
set sashelp.class(rename=(name=NAME));
run;
I can't test it at the moment, but I would think that the lowcase, upcase and propcase functions could be used as well. e.g.,
data sashelp.class;
set sashelp.class(rename=(name=upcase(NAME)));
run;
I think you need %SYSFUNC, as in
data have ;
myvar = 0 ;
run ;
data want ;
set have(rename=(myvar=%sysfunc(upcase(myvar))));
put _all_ ;
run;
Use the RENAME statement in PROC DATASETS (avoiding recreating the data set):
data have;
myvar = 0;
run;
data _null_;
set have;
put _all_;
run;
proc datasets lib=work nolist;
modify have;
rename myvar=MYVAR;
run;
quit;
data _null_;
set have;
put _all_;
run;
Thanks Bob, this worked well!
How about:
data have;
input (AA BB cc) ($);
cards;
qw er ty
cd rt ty
;
proc print;run;
proc sql noprint;
select catx('=',name,lowcase(name)) into : names separated by ' '
from dictionary.columns
where libname='WORK' and memname='HAVE';
quit;
proc datasets lib=work nolist;
modify have;
rename &names;
run;
quit;
proc print;run;
Linlin
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.