no variable value
4 x0 .
4 y0 .
4 x3 .My Solution:
%macro missing;
proc sort data=data2;
by visit;
run;
data _null_;
set data2 end=eof;
by visit;
length var $ 32767;
retain var "";
if first.visit then do;
var="";
num+1;
n=0;
end;
n+1;
var=catx(" ",strip(var),strip(variable));
if last.visit then do;
call symputx("n_"||strip(put(num,best.)),strip(put(n,best.)));
call symputx("var_"||strip(put(num,best.)),strip(var));
end;
if eof then call symputx ("num",num);
run;
data tmp;
set data1;
%do i=1 %to &num.;
retain visit_&i._flag 0;
visit_&i._flag=0;
%do j=1 %to &&n_&i.;
%let vartmp=%scan(&&var_&i.,&j.,%str( ));
if not missing(&vartmp.) then visit_&i._flag=1;
%end;
%end;
run;
data want;
set tmp;
length variable $ 10;
%do i=1 %to &num.;
%do j=1 %to &&n_&i.;
%let vartmp=%scan(&&var_&i.,&j.,%str( ));
if missing(&vartmp.) and visit_&i._flag=1 then do;
variable="&vartmp.";
value=&vartmp.;
output;
end;
%end;
%end;
keep no variable value;
run;