是风啊 发表于 2013-9-27 23:42 
楼主,我有几个问题想请教您,从原始数据集来看,空格表示字符型数据的缺失,句号表示数值型数据的缺失,现 ...
data a;
input ID test$ value@;
cards;
01 .
02 a 11
03 b 22
04 c 33
05 .
06 d 44
07 e 55
;
run;
data b;
set a;
if test="" or value="." then delete;
run;
你的程序是不是大概这样的?
因为你创建第一个数据步的时候,字符空值是空格号,所以读取的时候他会跳过,直接读取下一个点号;你运行程序看看数据集a就能发现了!
data a;
input ID test$ value@;
cards;读取数据时,即便是空值也要写上点号,不然会跳过导致数据混乱!