[程式] sas月資料和季資料合併
不好意思 我是sas的新手 最近在整理資料遇到一個問題
因一直找不出解決方式 故煩請各位高手能幫個忙!!
資料a 資料b
cusip date comnam ret cusip datafqtr commn asset
0001 19700130 aaa -2.96 0001 1970Q1 aaa 29.33
0001 19700227 aaa -8.62 0001 1970Q2 aaa 32.44
0001 19700331 aaa -16.42 0001 1970Q3 aaa 35.15
. . . . . . . .
. . . . . . . .
. . . . . . . .
0002 19700130 bbb 0.88 0002 1970Q1 bbb 214.56
0002 19700227 bbb 1.76 0002 1971Q2 bbb 220.31
0002 19700331 bbb 3.90 . . . .
. . . . . . . .
. . . . . . . .
. . . . 0003 1971Q1 ccc 7.51
0003 19710129 ccc 8.92 0003 1971Q2 ccc 8.36
0003 19710226 ccc 11.81
0003 19710331 ccc -3.25
現在想要合併成以下資料
cusip date comman ret datafqtr asset
0001 19700130 aaa -2.96 1970Q1 29.33
0001 19700227 aaa -8.62 1970Q1 29.33
0001 19700331 aaa -16.42 1970Q1 29.33
以下以此類推
接著小弟翻了書寫了一些CODE 但都有錯誤發生
DM' OUTPUT; CLEAR; LOG; CLEAR' ;
libname sas "D:\alldata";
data sas.bb;
set sas.b;
proc sort;
by cusip date;
run;
data sas.aa;
set sas.a;
informat date $6.;
(*WARNING: Variable DATE has already been defined as numeric.)
input DATE CUSIP COMNAM RET;
run;
proc sort;
by cusip date;
run;
data sas.merge_after;
set sas.test sas.compustat;
merge sas.test(in=a) sas.compustat(in=b);
by cusip date;
if a and b;
run;
然後第二段改成
proc format library=sas;
picture yyq LOW-HIGH = '999999';
data sas.test;
set sas.test;
format date yyq.;
put date = $6.;
proc sort;
by cusip date;
run;
(*ERROR: Variable DATE has been defined as both character and numeric.)
基本上資料a的日期為數字格式 而資料b的季為文字格式 一直無法合併
可以請教高手們應該如何修改? 感謝不盡~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.243.66
推
02/06 16:20, , 1F
02/06 16:20, 1F
→
02/06 20:25, , 2F
02/06 20:25, 2F
推
02/10 11:47, , 3F
02/10 11:47, 3F
→
02/10 11:48, , 4F
02/10 11:48, 4F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):