全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4098 8
2015-06-19
我要将count1和count2两张表合并 2.png 1.png
排序之后用merge合并

data count;
merge count1 count2;
by team;
run;
但是运行结果有点问题
3.png
cincinna这一行的观测数据少了lose的一个观测值

我想知道程序怎么改啊





二维码

扫码加我 拉你入群

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

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

全部回复
2015-6-19 22:40:57
Merge时,后一个dataset的值将写进输出结果。
因为cincinna的Lose在count2是missing, 因此输出结果是missing.
二维码

扫码加我 拉你入群

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

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

2015-6-20 14:35:53
Greenlane 发表于 2015-6-19 22:40
Merge时,后一个dataset的值将写进输出结果。
因为cincinna的Lose在count2是missing, 因此输出结果是missi ...
也就是说merge会把第一次的数据擦除重新录入新的数据?那我如果要把两个结果合并应该怎么做呢?谢谢!!
二维码

扫码加我 拉你入群

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

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

2015-6-20 15:22:49
楼主可以试试用proc sql,生成的finalcount就是最后结果:

proc sql;
create table finalcount as
select
coalesce(a.team,b.team) as team,
coalesce(a.win,b.win) as win,
coalesce(a.lose,b.lose) as lose
from
count1 as a
full join
count2 as b
on a.team=b.team;
quit;
二维码

扫码加我 拉你入群

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

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

2015-6-21 11:08:14
使用merge语句,当有重复观测值时,count1会把count2对应的值覆盖掉。用update语句吧,当count1变量值存在,count2缺失时,缺失值不会替换count1已经存在的值。只有当count1和count2变量值都存在时,count2才会替换count1的值。具体code跟你变化不大,具体操作时两个表分别排序后,把merge改为update单词就行了
二维码

扫码加我 拉你入群

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

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

2015-6-21 11:09:11
(修正下)使用merge语句,当有重复观测值时,count2会把count1对应的值覆盖掉。用update语句吧,当count1变量值存在,count2缺失时,缺失值不会替换count1已经存在的值。只有当count1和count2变量值都存在时,count2才会替换count1的值。具体code跟你变化不大,具体操作时两个表分别排序后,把merge改为update单词就行了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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