有一个数据集test,对其中一行来说,里面有N个变量,其中未知个变量为缺失。目标是找出不是缺失的变量,然后判断这些不是缺失的变量的值是否一致。
即:N个变量,其中x个是缺失值,剩余的有数值的变量(N-x)个,比较他们的数值是不是一致。
我编写到下面就进行不下去了,请高手指点。
data test;
X1=1;
X2=.;
X3=4;
X4=7;
X5=.;
X6=6;
run;
data test2;
set test;
%want(vars=X1 X2 X3 X4 X5 X6);
run;
%macro want(vars=);
%let count=%sysfunc(countw(%sysfunc(compbl(&vars)),' '));
%let wrds=;
%do i=1 %to &count;
if missing(%scan(&vars,&i))=0 then 这里怎么写才能得到宏变量wrds的值是X1=X3=X4=X6?
%end;
if not (&wrds) then
do;
do-something;
output;
end;
%mend;