Re: [程式] SAS 取上一「季」資料
你們都弄得好複雜耶~~
好多臨時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)
推
08/23 20:51, , 1F
08/23 20:51, 1F
討論串 (同標題文章)
完整討論串 (本文為第 5 之 5 篇):