你写的语法,在IN后面加上 : 即可,如果用IN意味者要完全符合,用IN: 意思是部分符合
所以你原来写的IN ('E10'...),要E10才会被筛选出来,如果是E10.1就不会被筛出来,
若用了IN: 如下,就可以完成
data diabetes;
set Tmp5.Dad;
diabetes_flag=0;
array HLTH_DX_CODE{25} HLTH_DX_CODE_1-HLTH_DX_CODE_25;
do i=1 to 25;
if HLTH_DX_CODE_{i} in: ('E10','E11','E12','E13','E14')
then diabetes_flag=1;
end;drop i;
run;