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行!~抛砖引玉阿