楼主: huangpengfei
1936 1

[学习分享] 使用set和proc sql进行数据拼接数据的差别 [推广有奖]

  • 1关注
  • 1粉丝

博士生

7%

还不是VIP/贵宾

-

威望
0
论坛币
344 个
通用积分
0.0004
学术水平
7 点
热心指数
10 点
信用等级
5 点
经验
2026 点
帖子
122
精华
0
在线时间
281 小时
注册时间
2008-3-2
最后登录
2017-5-8

楼主
huangpengfei 发表于 2014-1-19 22:40:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我总结一下使用set和proc sql进行数据拼接数据的差别,具体如下:

1、 set仅仅是用在表中所有观测值的拼接; proc sql可以用在寻找表之间观测值的差异及共同值;

2、 无论变量名是否相同,set语句均可以拼接,procsql语句使用corr关键词后,只能是变量名相同的进行拼接(除 outer union),未使用corr关键字,若A表(变量名为:A1A2 A3)B表(B1 B2),则结果变量中变量名为A1 A2 A3; 若A表(变量名为:A1A2)B表(B1 B2 B3),则结果变量中变量名为A1 A2 B3;

3、 有相同变量名时set和by一起使用与PROC SQL使用outer union corr、orderby的结果一致;变量名不同时,set与PROC SQL使用outerunion结果一致;

4、 set拼接的结果中包括重复值, PROC SQL使用except、intersect和union拼接时,若未使用ALL关键字则会去除重复值;

5、 set和by语句一起用时,需对表先排序,否则会报错;proc sql中使用一般会自动排序,但是使用 union all等语句时也会不排序,但可以直接用orderby进行排序。

以上总结还不够全面,可能还不够精准,希望看到的同学可以进行补充和完善,非常感谢!


二维码

扫码加我 拉你入群

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

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

关键词:proc sql sql Set ROC intersect 拼接

沙发
dengrong1989 发表于 2014-1-20 09:38:40

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

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