SAS编程:SET命令详解与数据集合并
需积分: 1 9 浏览量
更新于2024-08-04
收藏 149KB DOC 举报
"SAS编程-SET使用小结"
在SAS编程中,SET命令是用于从现有的数据集中读取数据并将其写入新的数据集的关键命令。以下是对SET命令使用的一些详细总结:
1. **读入数据集**:
当需要从一个已存在的数据集中复制数据时,可以使用SET命令。例如,下面的代码会将数据集`work.a`的所有记录复制到`work.new`中:
```sas
datanew;
set a;
run;
```
这里的`set a;`语句指定了要读取的数据集。
2. **合并数据集**:
SET命令也常用于合并数据集,主要有以下几种情况:
- **完全相同的字段**:如果两个数据集(如`a`和`b`)的字段完全相同,可以通过SET和BY语句进行纵向合并。如下所示:
```sas
datanew1;
set a b;
by custid;
run;
```
- **不完全相同的字段**:如果字段不完全相同,SET命令会保留所有变量。例如:
```sas
datanew2;
set a b;
by custid;
run;
```
- **完全不同的字段**:如果字段完全不同,SET会将两个数据集的变量都包含进来。例如:
```sas
datanew3;
set a b;
run;
```
3. **使用多个SET命令**:
当需要拼接两个数据集时,可以使用两个SET命令。这会基于某些条件(如有无共同变量)进行操作:
- **字段不同**:如果字段都不相同,每个数据集的变量都会被包含,且第二个数据集的变量会出现在第一个之后。
```sas
datanew;
set a;
set b;
run;
```
- **有相同字段**:如果有共同的字段,如`custid`,第二个数据集的值会覆盖第一个数据集的值。
4. **SET命令的OPTIONS**:
SET命令还可以配合一些选项使用,例如`DROP`, `KEEP`, `FIRSTObs`, `LASTObs`, `obs=`等来控制数据的读取和处理。以下是一个例子:
```sas
Data work.bbb;
Input custid brand fee;
Cards;
1000123 1300
1000124 2200
1000134 3500
1000139 2100
1000213 3200
;
Run;
Data work.ccc;
Input custid brand fee;
Cards;
1000126 1900
1000125 2800
1000127 1200
;
Run;
```
在这种情况下,可以使用OPTIONS来定制数据的处理方式。
SET命令在SAS编程中起着至关重要的作用,无论是简单的数据复制还是复杂的数据集合并,它都是不可或缺的一部分。通过熟练掌握SET命令及其各种用法,能够更高效地管理和操作SAS中的数据。理解这些基本概念后,可以进一步探索更多高级特性,比如使用WHERE子句进行条件筛选,或者结合其他流程控制语句实现更复杂的逻辑。
108 浏览量
2024-01-24 上传
2008-09-05 上传
2021-03-29 上传
2018-05-18 上传
2021-07-07 上传
2021-06-29 上传
2022-02-16 上传
2022-12-01 上传
提灯汇
- 粉丝: 6
- 资源: 13
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码