2016-07-25 126 views
0

我需要檢查我的數據集中的三列中的相同值,然後添加滿足該條件的兩行。輸出應該看起來像之前的行,但有一個單元格具有總計值。如果有幾個條件適用,如何合併SAS中的行?

例子:

Security date flag volume CUSIP 


A 20150707 1 100 xxx 

B 20150708 0 100 xyz 

B 20150708 0 200 xyz 

B 20150709 1 150 xyz 

C 20150709 0 100 yyy 

C 20150710 1 200 yyy 

C 20150710 1 300 yyy 

D 20150710 2 100 zzz 

輸出:

A 20150707 1 100 xxx 

B 20150708 0 300 xyz 

B 20150709 1 150 xyz 

C 20150709 0 100 yyy 

C 20150710 1 500 yyy 

D 20150710 2 100 zzz 

我覺得比較兩行的困難,然後總結起來到一個新的變量。希望有人能提前幫助和謝謝你!

最佳

馬克

回答

1

希望這完成你在找什麼。

data have ; 
    input ColA $ ColB $ ColC ColD ColE $; 
cards; 
A 20150707 1 100 xxx 

B 20150708 0 100 xyz 

B 20150708 0 200 xyz 

B 20150709 1 150 xyz 

C 20150709 0 100 yyy 

C 20150710 1 200 yyy 

C 20150710 1 300 yyy 

D 20150710 2 100 zzz 

; 

proc sql; 
    create table want as 
     select distinct ColA, ColB, colC, sum(ColD) as sumColD, colE 
      from have 
       group by ColA, colB 
        order by ColA, colB; 
quit;