2017-04-19 72 views
0

我期待在SAS中進行一對多合併,我只想保留第一場比賽。SAS:僅在第一場比賽中合併

舉例如下數據:

data one; 
    input id $ fruit $; 
datalines; 
a apple 
b apple 
c banana 
d coconut 
; 

data two; 
    input id $ color $; 
datalines; 
a amber 
b brown 
c cream 
c cocoa 
c carmel 
; 

data both; 
    merge one two; 
    by id; 
run; 

proc print data=both; 
run; 

正如你可以看到,這是一個一對多的合併。

有沒有辦法讓它只保留第一場比賽?即輸出將是如下:

a apple amber 
b apple brown 
c banana cream 
d coconut . 

的這裏的背景是第一數據集包含屬性,第二個包含租約,而我希望找到只對財產租賃第一。我剛剛開始學習SAS,因此可能會有更適合於此的功能?

非常感謝!

邁克

回答

0

檢查了這一點: -

/*Creating Datasets*/ 
data one; 
    input id $ fruit $; 
datalines; 
a apple 
b apple 
c banana 
d coconut 
; 

data two; 
    input id $ color $; 
datalines; 
a amber 
b brown 
c cream 
c cocoa 
c carmel 
; 


/*Just insert first.Id=1 in your code, it should do the job*/ 
data both; 
    merge one two; 
    by id; 
    if first.id =1; 
run; 

proc print data=both; 
run; 

希望這有助於:-)

+0

@Mike如果我的回答幫你解決你的查詢,請給予好評。看到這個鏈接:stackoverflow.com/help/someone-answers –