[程式] PROC SQL 合併日期取單筆最靠接近

看板Statistics作者 (八億)時間7年前 (2016/12/23 16:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
[軟體程式類別]: SAS [程式問題]: 資料處理 之 PROC SQL合併 [軟體熟悉度]: 新手 [問題敘述] + [程式範例]: 範例如下 AAA的檔案欄位 NAME DATE e.g. 台積電 20090901 台積電 20100901 台積電 20110901 BBB的檔案 NAMES EFFECT DATE NO e.g. 台積電 20090101 代號0001 台積電 20100501 代號2001 希望合併後結果 e.g. NAME DATE NO 台積電 20090901 代號0001 台積電 20100901 代號2001 台積電 20110901 代號2001 合併目的是將資料AAA加入代號(在資料BBB裡), 合併條件是 DATE 必須大於 有效起始日EFFECT DATE,同時取最大的, 像上面資料AAA的第二筆的DATE 20100901 同時大於 資料BBB的兩個EFFECT DATE, 合並後想要只留下EFFECT為20100501(代號2001)的那一筆。 簡單來說就是大於等於後不只一筆,取日期最大的, 以下為想到的SAS寫法,但是只有合併沒有加入取最大的條件 想請教大家可以怎麼做修改,感謝! PROC SQL; create table CCC as select * from AAA as a left join BBB as b on AAA.NAME = b.NAMES where (a.DATE >= b.EFFECT DATE); order by DATE NAME; quit; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.242.5 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1482483050.A.9C6.html
文章代碼(AID): #1ONELgd6 (Statistics)
文章代碼(AID): #1ONELgd6 (Statistics)