2016-07-25 9 views
0

3つの列に等しい値のデータセットをチェックし、その条件を満たす2つの行を追加する必要があります。出力は前の行のようになりますが、合計値が1つのセルを持つ必要があります。複数の条件が適用される場合、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 

が、私は2つの行を比較する難しさを見つけ、その後、新しい変数にそれらを合計。誰かが助けてくれてありがとうと思います!

ベスト

マルク・

答えて

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; 
関連する問題