全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1995 8
2016-10-20
想从一个股票信息池数据库(lstkinfo)中挑选出5支特定股票(stkcd)的信息,用了merge-by匹配合并,代码如下,但是运行结果中有30条观测,即lstkinfo的全部,不懂哪里出错了,请大神们指点。

data stkcd;
input stkcd $6.;
cards;
000001
000002
600603
600651
600605
;
run;
proc sort data=stkcd;
by stkcd;
run;
proc sort data=data.lstkinfo;
by stkcd;
run;
data a;
merge data.lstkinfo stkcd(in=id);
by stkcd;
if id;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-21 09:35:40
data cc;
  merge aa(in=in1) bb(in=in2);
  by a;
  if in1 and in2;
run;

你试试这样?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-21 11:37:51
data a;
merge data.lstkinfo stkcd(in=id);
if id;
by stkcd;
run;
把条件语句 if ID 提前,才可实现先筛选 再匹配的,试试看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-21 11:41:35
你把数据集发给我,我在我这里运行试试,生疏了哈
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-21 14:43:43
你的程序在我这边没有问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-21 15:00:23
wisxf 发表于 2016-10-21 11:37
data a;
merge data.lstkinfo stkcd(in=id);
if id;
咦 这样也不行  还是lstkinfo里面的全部观测
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群