/*
數值型缺失,可賦值點號(.),data步可以用 var = . 或 missing(var)判斷
字符型缺失,可賦值0個或多個空格('' 或' '等), data步可以用var = '' 或missing(var)判斷
以下是數值型缺失轉字符型的例子,但缺失轉換后不缺失,易做錯。
*/
data test;
input var;
datalines;
1
.
;
run;
/* 錯誤轉換*/
data test2;
set test;
var2 = compress(put(var, 8.));
run;
proc sql;
select count(*) as miss_n
from test2
where var2 is missing;
quit;
/* 正確轉換*/
data test3;
set test;
if missing(var) then var2 = '';
else var2 = compress(put(var, 8.));
run;
proc sql;
select count(*) as miss_n
from test3
where var2 is missing;
quit;