嘗試加入兩個數據集。每月有一個股票發行,另一個發行每日股價。我需要每日價格與他們每月的未償還股票相匹配,以便我可以將它們放在一起。SQL左連接兩個數據集。每月一份,每日一份
樣本數據是兩組。價格變量爲:date
,firm
,price
。分享變量是date
,firm
,Shareout
。
合併的數據集應該添加Shareout
到prices
。因此,每月發行的股票數量應該只在每個月末更改。目前表格合併但sharesout
全部爲空。
prices :
Date FIRM PRICE
1/1/2013 1 2
2/1/2013 1 2.05
3/1/2013 1 2.04
shareout :
Date FIRM SHAREOUT
1/1/2013 1 200,000
1/2/2013 1 215,000
1/3/2013 1 250,000
New Table - temp1 :
Date FIRM Price SHAREOUT
1/1/2013 1 2 200,000
2/1/2013 1 2.05 200,000
3/1/2013 1 2.04 200,000
的代碼是:
proc sql;
create table temp1 as
select a.*, b.shareout from index.prices as a
left join index.shareout as b on a.firm=b.firm and month(a.date)=month(b.date);
quit;
產生什麼:
Date Firm Price Shareout
1/1/2013 1 2 -
Proc Contents table1
ASX Char 10 $CHAR10. $CHAR10.
CLOSE Num 8 BEST7. BEST7.
Date Num 8 YYMMDD10. YYMMDD10.
HI Num 8 BEST7. BEST7.
LOW Num 8 BEST7. BEST7.
Tick Num 8 BEST5. BEST5.
Proc Contents table2
asx Char 6 $CHAR10. $6.
date Num 8 DDMMYYS10.
shareout Num 8 BEST12. BEST32.
year Num 8 BEST12. BEST32.
乾杯。
請編輯您的問題,並添加示例數據和預期結果。舉個例子,我不知道這意味着什麼:「我需要每日價格與他們每月的未償還股票相匹配,這樣我才能把它們放在一起。」 – 2014-10-07 03:16:38
我沒有看到你的代碼有什麼問題。沒有看到數據,我們將無法幫助您進行調試。 – DomPazz 2014-10-07 03:31:35
好吧,我將獲得數據。問題是加入後未完成的股票是空值。我不明白爲什麼會發生這種情況。 – Hamish 2014-10-07 03:35:05