data raw1;
input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;
format var3 yymmdd10.;
cards;
000001 深发展A 2007-12-31 金融 0001 
000002 万科A 2007-12-31 房地产 0003 
000006 深振业A 2007-12-31 房地产 0003
000012 南玻A 2007-12-31 工业 0005 
000014 沙河股份 2007-12-31 房地产 0003 
000016 深康佳A 2007-12-31 工业 0005  
000019 深深宝A 2007-12-31 工业 0005
000021 长城开发 2007-12-31 工业 0005  
000022 深赤湾A 2007-12-31 公用事业 0002
000023 深天地 2007-12-31 房地产 0003 
000024 招商地产 2007-12-31 房地产 0003 
000025 特力A 2007-12-31 综合 0004 
000026 飞亚达A 2007-12-31 工业 0005 
000027 深圳能源 2007-12-31 工业 0005
000028 一致药业 2007-12-31 工业 0005
000029 深深房A 2007-12-31 房地产 0003 
000031 中粮地产 2007-12-31 房地产 0003 
000032 深桑达A 2007-12-31 工业 0005
000033 新都酒店 2007-12-31 商业 0006
000036 华联控股 2007-12-31 工业 0005 
000037 深南电A 2007-12-31 工业 0005 
000039 中集集团 2007-12-31 工业 0005
;
run;
data raw2;
input var1 $ @@;
cards;
000013 000017  000030 000035 000156 000405 000529 000536
000536  000542 000556 000560 000566  000592  000613 000620 
000621  000631  000633  000658 000675  000039 
;
run;
data result(drop=rc);
set raw1;
if _n_=1 then do;
declare hash share(dataset:'work.raw1',order:'ascending');
share.definekey('var1');
share.definedata(all:'yes');
share.definedone();
end;
set raw2;
rc=share.find(key:var1);
if rc^=0;
run;
我这个可能要简单一些,前面的都是读数据,实际筛选的就后面的10行!~抛砖引玉阿