2016-07-25 14 views
0

Ich muss meine Datenmenge für gleiche Werte in drei Spalten überprüfen und dann die zwei Zeilen hinzufügen, die beide diese Bedingung erfüllen. Die Ausgabe sollte wie die vorherigen Zeilen aussehen, aber eine Zelle haben, die den summierten Wert hat.Wie werden Zeilen in SAS zusammengeführt, wenn mehrere Bedingungen zutreffen?

Beispiel:

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 

Ausgang:

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 

Ich finde Schwierigkeiten zwei Reihen zu vergleichen und summiert sie dann in eine neue Variable auf. Hoffnung somehone kann helfen und Ihnen im Voraus danken!

Beste

Marc

Antwort

1

Hoffentlich erreicht, was Sie suchen.

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;