12-24-2015 11:25 AM
"Macro variables contain only character data. However, the macro facility has features that enable a variable to be evaluated as a number when it contains character data that can be interpreted as a number."
12-24-2015 04:42 PM
SAS language can interpret 2 as either character or numeric, depending on the context:
Macro language is not determining whether "2" is character or numeric. It is merely substituting "2" into the program, making it:
proc print data=data;
SAS language then interprets the program, and decides what each word means.