SAS如何在不排序的情况下使用by语句
2016-03-26 15:59
211 查看
排序是SAS中非常常用的一个操作。尤其是在merge之前,通常是要排序的。SAS在进行排序时,会在C盘开辟出一块临时空间,排序的数据集越大,临时空间也越大。因此,如果电脑的C盘空间不足,排序会被迫停止,并且在日志中报错。那么如何在不排序的情况下,使用by语句呢?答案是创建索引。如下面代码所示:
data a_1402;
input id $ var1;
datalines;
3 12.3
1 41.3
2 87.9
;
run;
data a_1403;
input id $ var2;
datalines;
1 56.3
2 4.3
3 1.2
;
run;
proc datasets library=work nolist;/*创建单一索引*/
modify a_1402; index create id;
modify a_1403; index create id;
run;
data a_merge;/*进行merge合并*/
merge a_1402(in=a) a_1403(in=b);
by id;
if a and b;
run;
如上内容来自《Professional SAS Programming Shortcuts: Over 1,000 Ways To Improve Your SAS Programs(Third Edition)》 P19
data a_1402;
input id $ var1;
datalines;
3 12.3
1 41.3
2 87.9
;
run;
data a_1403;
input id $ var2;
datalines;
1 56.3
2 4.3
3 1.2
;
run;
proc datasets library=work nolist;/*创建单一索引*/
modify a_1402; index create id;
modify a_1403; index create id;
run;
data a_merge;/*进行merge合并*/
merge a_1402(in=a) a_1403(in=b);
by id;
if a and b;
run;
如上内容来自《Professional SAS Programming Shortcuts: Over 1,000 Ways To Improve Your SAS Programs(Third Edition)》 P19
相关文章推荐
- 为什么 GROUP BY 之后不能直接引用原表中的列
- PostgreSQL教程(八):索引详解
- Oracle外键不加索引引起死锁示例
- oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
- 手动清除病毒文件流程(图解) by bark
- 迅雷扩展设置1.2 By AYU 下载
- 用SQL建立索引的方法步骤
- SQL2005重新生成索引的的存储过程 sp_rebuild
- SQL效率提升之一些SQL编写建议并有效利用索引
- SQLSERVER的非聚集索引结构深度理解
- SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区
- SQL Server 索引介绍
- 探讨SQL compute by的使用分析
- 总结下sqlserver group by 的用法
- 浅析SQL语句中GROUP BY的用法
- distinct 多列问题结合group by的解决方法
- SqlServer 索引自动优化工具
- mysql 中存在null和空时创建唯一索引的方法
- 详解sqlserver查询表索引
- 优化 SQL Server 索引的小技巧