I'm reading in multiple files that need to be stacked into a single dataset. In some files, column A contains all numeric values. In other files,  an * appears when numeric values are missing, defining the column type as character. I have a data step that sets * to missing and then creates a new numeric column using the input function. Is there a way to reference column type as part of a do statement where the data step executes only when the column type is character? Alternatively, is there a way to suppress "Invalid numeric data, '*'" message from the log?     data one;                     
   input ID A;     
   datalines;          
2477 195 
2431 220 
2456 173 
2412 135 
; 
run;
data two;                     
   input ID A $;     
   datalines;          
3777  *  
9731  *  
7756  110
2712  * 
;  
run;
data stacked;
	set _null_;
run;
%macro make_num(set);
	data &set;
		set &set;
		if A = "*" then A = "";
		A_Num = input(A, best12.);
	run;
	data stacked;
		set stacked &set (drop = A);
	run;
%mend;
%make_num(one);
%make_num(two);       
						
					
					... View more