楼主: sunmoon1810
4155 8

merge合并表格出现错误,遗失了观测值,求解答 [推广有奖]

  • 0关注
  • 0粉丝

小学生

92%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
428 点
帖子
8
精华
0
在线时间
9 小时
注册时间
2014-11-20
最后登录
2019-10-21

楼主
sunmoon1810 发表于 2015-6-19 16:05:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我要将count1和count2两张表合并 2.png 1.png
排序之后用merge合并

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

我想知道程序怎么改啊





二维码

扫码加我 拉你入群

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

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

关键词:Merge 合并表格 观测值 求解答 Count count 遗失 程序

沙发
Greenlane 发表于 2015-6-19 22:40:57
Merge时,后一个dataset的值将写进输出结果。
因为cincinna的Lose在count2是missing, 因此输出结果是missing.

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

板凳
sas那个石家庄人 发表于 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;
已有 1 人评分学术水平 信用等级 收起 理由
realtemper + 1 + 1 好的意见建议

总评分: 学术水平 + 1  信用等级 + 1   查看全部评分

报纸
慕白__·__慕思 发表于 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单词就行了

7
feng_2long 发表于 2015-6-21 14:47:10
慕白__·__慕思 发表于 2015-6-21 11:09
(修正下)使用merge语句,当有重复观测值时,count2会把count1对应的值覆盖掉。用update语句吧,当count1变 ...
真是厉害啊

8
sunmoon1810 发表于 2015-6-21 14:48:54
慕白__·__慕思 发表于 2015-6-21 11:09
(修正下)使用merge语句,当有重复观测值时,count2会把count1对应的值覆盖掉。用update语句吧,当count1变 ...
真是太谢谢了,我直接加了一句update就可以了,大神太感谢了!

9
sunmoon1810 发表于 2015-6-21 19:48:46
sas那个石家庄人 发表于 2015-6-20 15:22
楼主可以试试用proc sql,生成的finalcount就是最后结果:

proc sql;
哇!大神,谢谢你!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 16:46