作者liton (欧吉桑留学生)
看板Statistics
标题Re: [问题] SAS跑大量资料所需的时间
时间Wed Mar 18 01:30:47 2009
※ 引述《azimuth ()》之铭言:
: ※ 引述《liton (欧吉桑留学生)》之铭言:
: 原始资料: 6年交易纪录76,113,236笔 (不用怀疑!)
: 光是用一个PROC SQL筛出一个帐户的资料就耗掉快3分钟
: 简化的程序如下:
: PROC SQL ;
: CREATE TABLE no39 AS
: SELECT *,
: PUT(var1,DATE9.) AS time1 LENGTH=9 LABEL="时间1" ,
: PUT(var2,MONYY7.) AS time2 LENGTH=7 LABEL="时间2" ,
: var3 AS time3 FORMAT=TIME. LABEL="时间3" ,
: var4 AS time4 FORMAT=TIME. LABEL="时间3"
: FROM readall49
: WHERE acc_no=39;
: QUIT;
: PROC SORT DATA=no39 ;
: by var1 var2 var3 var4 ;
: RUN;
1.你浪费太多时间在acc_no ne no39上
先用acc_no筛选资料看看
然後再来处理那些数值运算
2.需要sort吗?
塞order进去sql不就好了?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.189.144
1F:→ west1996:where不是会比数值运算先执行? 03/18 07:46
2F:推 azimuth:我知道可以把sort跟sql合写.而"先用acc_no"筛选readall49 03/18 10:14
3F:→ azimuth:的意思我不太懂 有什麽具体做法吗? 请大大指教 谢谢 03/18 10:14
4F:→ azimuth:另外我是按acc_no大小从readall49抓出观察值,如果我先对 03/18 10:16
5F:→ azimuth:readall49按acc_no排序 这样系统处理会比较快吗? 03/18 10:16