楼主: kittyforever
1833 3

[程序分享] 提高SAS的效率 [推广有奖]

  • 11关注
  • 2粉丝

已卖:938份资源

硕士生

65%

还不是VIP/贵宾

-

威望
0
论坛币
1990 个
通用积分
5.2275
学术水平
14 点
热心指数
11 点
信用等级
7 点
经验
7819 点
帖子
203
精华
0
在线时间
124 小时
注册时间
2009-11-14
最后登录
2022-8-8

楼主
kittyforever 发表于 2013-1-11 16:22:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
利用SAS处理一个大数据量的时候,使用一些小技巧可以很好的提高SAS的效率,如果你对SAS中的DATA的步的
原理更了解,那理解这些技巧是很容易的:
一、过滤数据
   1)当你作数据预处理的时候,你可以会从一个很大的数据集中读入一些数,形成子集。
   则这个时候使用IF的效率就不如WHERE了。为什么?因为IF的作用是把数据读入PDV后再作判断,而WHERE在数据读入PDV之前就作判断。
   2)在PROC过程中的直接使用WHERE 条件来过滤数据。
   3)对于从外部读入的数据,如果需要过滤,则直接在这个变量读入过程中加上相应的条件。
      input x; if x>10; input y; 当X不满足条件时候,则不再读入后续数据。
二、生成数据
   1)如果不要生成最终数据集,只是处理一个过程。建立多使用:data _null_;
   2)合并二个数据集的时候,如果二个数据集相关,建议使用proc apend 过程;
    data one;
    set one two;
    run;
    ---方法二只是读入TWO的数据并入到ONE中。
    proc append base = one data = two;
    run;
   3)在SET 后面直接过滤不需要的变量(set test(keep=var1);) 可以避免不需要的变量进入PDV
   4)建立索引。如果读入大数据量的时候,可以在读入的时候即为数据集加上索引,方便后续的高效访问(data test (index=));)
   5)预编译
     对于常用的生成数据过程,可以利用PGM的过程预编译好,存储起来,要使用时候,直接调用。可以节约编译器时间。
例如:
DATA one2/ pgm = progname ;
SET one;
RUN ;
DATA pgm= progname ;
RUN;
三、模糊匹配
     1) is missing/is null 用于检查字符变量是否为空或者数值变量是否缺失。
     2)% 代表0个以上的任意个数的字符。
     3)_(下划线)仅代表一个任意字符。
     4)contains ?是否包含某个字符 x ? 'afd' 相当于 x like '�d%';
二维码

扫码加我 拉你入群

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

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

关键词:sas的 Contain missing append Where 小技巧

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Imasasor + 36 + 24 + 1 + 1 + 1 鼓励积极发帖讨论
guo.bailing + 10 + 1 好的意见建议

总评分: 经验 + 46  论坛币 + 24  学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

沙发
Imasasor 发表于 2013-1-11 23:24:48
鼓励总结性学习分享贴
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

藤椅
tangliang0905 发表于 2013-1-11 23:28:56
the speed of processing "Proc SQL" is faster than that using ordinary data step.

板凳
Bridgenc 发表于 2013-1-14 09:55:24
tangliang0905 发表于 2013-1-11 23:28
the speed of processing "Proc SQL" is faster than that using ordinary data step.
proc sql is slow if you process large datasets

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 15:10