Is there a way to search headers that contain a certain string in SAS then apply format changes to all of them -
say have headers name
(char32), birth_date
(best32), , application_date
(best32). there way utilize proc
procedure search headers contain "_date" , alter format of results. in case end name
(char32), birth_date
(date9), , application_date
(date9)
there lots of ways solve this. method below uses dictionary.columns view in proc sql columns want. constructs macro variable can used in proc datasets alter format.
data have; format name $32. birth_date application_date best32.; name = "x"; birth_date = "04jul1776"d; application_date = today(); run; proc sql noprint; select name :tochange separated " date9. " dictionary.columns libname="work" , memname="have" , upcase(name) '%_date'; quit; %put &tochange; proc datasets lib=work nolist; modify have; format &tochange date9.; run; quit; proc print data=have; run;
sas
No comments:
Post a Comment