看板 Statistics 關於我們 聯絡資訊
※ 引述《zend ( )》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : merge : [軟體熟悉度]: : 低(1~3個月) : 現在想要合兩個資料檔 : data 1 : code num cap : 1 1001 1 242 : 2 1001 4 510 : 3 1001 5 243 : 4 1002 6 231 : 5 1002 4 532 : 6 1002 1 415 : . : . : data 2 : code asset date : 1 1001 45 1999 : 2 1001 54 2000 : 3 1001 42 1985 : 4 1001 42 2001 : 5 1001 87 2010 : 6 1002 45 1991 : 7 1002 12 1994 : . : . : 我想要合成另一個 以code為基準 : 也就是data1的第一筆 要合到data2的1-5筆 : 譬如 我想要合成 : code num cap asset date : 1 1001 1 242 45 1999 : 2 1001 1 242 54 2000 : 3 1001 1 242 42 1985 : 4 1001 1 242 42 2001 : 5 1001 1 242 87 2010 : 6 1001 4 510 45 1999 : 7 1001 4 510 54 2000 : . : . : . : 也就是說 最後code=1001的資料應該要有3*5=15筆 : 但我用merge by code的結果無法這樣子 : 猜測是因為data1的code 1001的資料不只一筆 : SAS無法分辨 : 請問此種多對多的merge應該要怎麼寫呢? proc sql; create table a as select * from data1 data2 where data1.code=data2.code; quit; try this code -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.70.10.53
west1996:第三行漏了逗號 form data1, data2 04/18 23:51
zend:高手!!! 加了逗號就可以了XD 謝謝兩位大大 我要來研究sql 04/19 00:00
kingbee:merge前要先把資料sort 若改用SQL 則有分left join 04/19 09:46
liton:咦~~以前t大好像不寫sql的... 04/19 23:12
tew:我有寫過呀 只是沒L大那麼厲害 04/20 08:31