2015-05-31 27 views
-7

我的數據表如下所示:首先。和Last。在SAS

Name Amount Status 
a 5000 Debit 
a 2000 Credit 
a 1000 Credit 
b 2000 Debit 
b 1000 Debit 
b 1000 Credit 

我希望我的輸出是:

Name net_amount status 
a 2000 Debit 
b 2000 Debit 

如何使用first.last.變量我實現嗎? 在此先感謝

+1

建議您顯示您嘗試使用的代碼。 – Quentin

+0

根據您編寫的原始數據,無法獲得該輸出(顯而易見,只有一條語句)。 隨着第一。或最後一個,您將根據指定的語句輸出標記爲系列的第一個或最後一個的原始數據(確保事先對數據集進行排序)。 輸出數據集中的第一行未包含在源數據集中。 請始終發佈您的嘗試,如果差。 – stat

+0

您在上面的示例輸出中用什麼邏輯選擇了兩行的內容?除非清楚明確地說明邏輯,否則無法確定您收到的任何答案的行爲將與您在所有情況下的預期一致。 – user667489

回答

0
data a; 
input Name $ Amount Status $; 
cards; 
a 5000 Debit 
a 2000 Credit 
a 1000 Credit 
b 2000 Debit 
b 1000 Debit 
b 1000 Credit 
; 
run; 

proc sort data=a; 
by name status amount; 
run; 

data by_name_first_obs by_name_and_status_first_obs 
    by_name_last_obs by_name_and_status_last_obs; 
set a; 
by name status; 
if first.name then output by_name_first_obs; 
if last.name then output by_name_last_obs; 
if first.status then output by_name_and_status_first_obs; 
if last.status then output by_name_and_status_last_obs; 
run;