SAS连接数据集

可以使用SET语句连接多个SAS数据集以提供单个数据集。在连接的数据集中的观察的总数是原始数据集中的观察的数量的总和。**观察的顺序是连续的。**来自第一数据集的所有观察结果后面是来自第二数据集的所有观测结果,并以此类推。
所有组合数据集具有相同的变量,但是如果它们具有不同数量的变量,则在结果中出现所有变量,对于较小数据集具有缺失值。
句法:
SAS中SET语句的基本语法是:

SET data-set 1 data-set 2 data-set 3......;

案例:
考虑在两个不同数据集中可用的组织的员工数据,一个用于IT部门,另一个用于非IT部门。要获得所有员工的完整详细信息,我们使用如下所示的SET语句连接两个数据集。
在这里插入图片描述
不同数据集中的变量数不同
如果要连接的原始数据集中,其中的一个具有更多数量的变量,数据集仍然被组合,但是在较小变量的数据集中,这些变量显示为缺失。
案例:
在下面的例子中,第一个数据集有一个名为DOJ的额外变量。在结果中,第二个数据集的DOJ列的值显示缺失。
在这里插入图片描述
不同数据集中的变量名不同
在这种情况下,数据集具有相同数量的变量,但是变量名在各自的数据集中各不相同。在这种情况下,将产生结果集中的所有变量,并给出不同的两个变量的缺失结果。
虽然我们不能更改原始数据集中的变量名称,但是我们可以在我们创建的连接数据集中应用RENAME函数。这将产生与正常连接相同的结果,但是当然使用一个新的变量名称代替原始数据集中存在的两个不同的变量名称。

案例:
在下面的示例中,数据集ITDEPT具有变量名ename,而数据集NON_ITDEPT具有变量名empame。但这两个变量代表相同的类型(字符)。我们再SET语句中应用RENAME函数,如下所示。
在这里插入图片描述
不同的变量长度
如果两个数据集中的变量长度不同,则连接的数据集将具有其中一些数据对于具有较小长度的变量被截断的值。如果第一个数据集的长度较小,就会发生这种情况。为了解决这个问题,我们对数据集应用更高的长度,定义如下。
示例:
在下面的示例中,变量ename在第一个数据集中的长度为5,在第二个数据集中的长度为7。当连接时,我们应用连接数据集中的LENGTH语句将枚举长度设置为7。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值