[程式] sas月資料和季資料合併

看板Statistics作者 ( 走吧)時間14年前 (2010/02/06 15:09), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/3 (看更多)
不好意思 我是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
謝謝K大的回答 不過小弟創出來的變數格式還是沒變><
02/06 20:25, 2F

02/10 11:47, , 3F
日期問題的話 可以除於10000 100個別得到年 月
02/10 11:47, 3F

02/10 11:48, , 4F
然後利用月就可以設season
02/10 11:48, 4F
文章代碼(AID): #1BRHMeWL (Statistics)
文章代碼(AID): #1BRHMeWL (Statistics)