全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
84000 29
2012-08-20
SAS学习笔记目录
上一篇:创建Data文件
Combining Data:合并数据
关于SAS的数据合并,一种是纵向合并,相当于SQL里面的UNION,另外一种的横向的合并类似SQL里面的JOIN,也就是匹配
纵向合并:用set
复制代码
复制代码
例子很简单,稍微试一下就知道了,其中na1,na2和newhires都是数据集的名字。纵向合并就是用set语句就可以了
横向合并:用Merge
复制代码
By 后面就是需要匹配的字段,例子如下
复制代码
merge.jpg
如图,Month是需要匹配的字段,Difference则匹配后Sales-Goal产生的新字段。

注意,Merge实现的是全连接,那么如果想要实现左连接或者是右连接应该怎么办,可以考虑用in语句
IN的用法用下面这个例子可以看出来
in.jpg
复制代码
代码如上,那么如果要实现左连接则可以在run语句前面加上

复制代码

下一篇:sas学习笔记之if和where

二维码

扫码加我 拉你入群

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

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

全部回复
2012-8-20 17:40:08
辛苦楼主了,不过总觉得SAS横向合并,不管是merge还是update都不大好用,比不上sql
二维码

扫码加我 拉你入群

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

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

2012-8-20 17:49:34
ziyenano 发表于 2012-8-20 17:40
辛苦楼主了,不过总觉得SAS横向合并,不管是merge还是update都不大好用,比不上sql
Merge语句完全可以PRO SQL来代替,但是我认为这是SAS为了为部分有SQL基础的程序员可以轻松学习SAS
但是我猜想MERGE语句效率应该要比SQL过程高,毕竟存在必有其合理性
愚见不知道对不对
二维码

扫码加我 拉你入群

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

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

2012-8-20 18:00:00
zhou.wen 发表于 2012-8-20 17:49
Merge语句完全可以PRO SQL来代替,但是我认为这是SAS为了为部分有SQL基础的程序员可以轻松学习SAS
但是我 ...
不太清楚效率哎,感觉SAS9之后,proc sql效率提高了不少;不过应该还是比不上data,proc步吧;
用merge的限制太多,不过合适用的话,还是用merge,每次敲 select...也疼。
二维码

扫码加我 拉你入群

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

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

2012-8-20 18:07:31
ziyenano 发表于 2012-8-20 18:00
不太清楚效率哎,感觉SAS9之后,proc sql效率提高了不少;不过应该还是比不上data,proc步吧;
用merge的 ...
灵活应用吧,64位的SAS9.3在计算效率上比sas9.1.3有了很大的提高,之前算一天的程序,现在可以在1个小时之内完成了。
不知道是不是64位后可以充分利用内存的原因
二维码

扫码加我 拉你入群

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

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

2012-11-16 00:40:36
merge的多对多合并,大家试一试
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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