SAS code
data a;
infile datalines dsd;
input id $ var1 var2 var3$ ;
datalines;
001,1,,
001,,2,
001,,,a
002,4,,
002,,5,
002,,,6
;
run;
%macro test(num);
data work.b#
set work.a(keep= id var&num);
if vtype(var&num) = "N" then do;