作者liton (欧吉桑留学生)
看板Statistics
标题Re: [程式] SAS 取上一「季」资料
时间Sat Aug 21 21:01:16 2010
你们都弄得好复杂耶~~
好多临时COLUMN还有TABLE...
是可以解得出来啦....但就商业资料库结构来说....後患无穷
反正重点就是
1.读档的时候该是日期就是日期 数字转文字又转日期相当容易出包
2.写程式的时候多留点弹性 不然你用日来串後来又跟你说要用月你改写不就抓狂了
上INTNX随你挑要用月或是日 要提早或是往後都可
万一又来个为了配合财报 每年4月前抓前年的资料不就又得搞一次
data a;
input Indo $ yrmon price;
INFORMAT YRMON yymmn6.;
FORMAT YRMON yymmn6.;
datalines;
1101 200104 8.2
3108 200201 5.8
;
run;
data b;
input Indo $ yrmon vol;
INFORMAT YRMON yymmn6.;
FORMAT YRMON yymmn6.;
datalines;
1101 200103 23
3108 200103 16
1101 200106 20
3108 200106 18
1101 200109 22
3108 200109 19
1101 200112 25
3108 200112 15
1101 200203 28
3108 200203 14
;
run;
PROC SQL;
CREATE TABLE FINAL AS
SELECT A.INDO, A.YRMON, A.PRICE, B.VOL
FROM A , B
WHERE A.INDO EQ B.INDO
AND
(CASE
WHEN MONTH(A.YRMON) IN (3,6,9,12)
THEN INTNX("QTR",A.YRMON,0)
ELSE INTNX("QTR",A.YRMON,-1)
END)
EQ INTNX("QTR",B.YRMON,0);
QUIT;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.184.148
※ 编辑: liton 来自: 118.167.184.148 (08/21 22:27)
1F:推 wlsherica:感谢您~ 08/23 20:51