Hi all, I was trying to use macro to convert the case of a character variable, but I was confused with the usage of upcase and %upcase. Below is the sample code that I used. The chgCase macro is supposed to convert the input string to upper case and return the converted string to the data step. The following code is always working. However, if I replaced upcase(&input) with %upcase(&input), then the case of the input string won't be converted, newName stored the same string as the original text. And SAS enterprise guide didn't report any error or warning. I am wondering why %upcase won't work within my macro? Thanks! data name; input name $; datalines; Jones White Smith ; run; %macro chgCase(input); %let newText=upcase(&input); &newText %mend chgCase; data name; set name; newName=%chgCase(name); run;
... View more