2016-12-01 2 views
0

Ist es möglich, eine neue Statistik mit proc-Zusammenfassung zu erstellen, die jeden Wert in jeder Spalte multipliziert, zum Beispiel anstatt nur zu bedeuten? SAS ist so starr, dass es mich verrückt macht.Proc-Zusammenfassung mit Statistik "multiplizieren"

data test;             
    input b c ;         
    datalines;             
    50 11          
    35 12           
    75 13          
    ; 

Wunsch Ausgang 50 * 35 * 75 und 11 * 12 * 13 und _FREQ (wie normale Ausgabe in proc Zusammenfassung)

+0

Warum brauchen Sie PROC bedeutet? Ist ein Datenschritt vorher oder völlig akzeptabel? – Reeza

+0

Ja, Datenschritt ist akzeptabel anstelle von * proc summary *. Ich dachte nur, dass man in der Lage sein sollte, seine eigene Statistik zu wählen. – Erosennin

+0

Nein, proc bedeutet, dass es eine bestimmte Menge an Statistiken gibt, das Dokument hat die Liste http://support.sas.com/documentation/cdl/en/proc/69850/HTML /default/viewer.htm#p0v0y1on1hbxukn0zqgsp5ky8hc0.htm – Reeza

Antwort

1

Dies ist eine ungewöhnliche Aggregat, so dass Sie im Wesentlichen rollen müssen wäre, dein eigenes. Da ein Datenschritt in Schleifen ausgeführt wird, kann dies leicht mit einem RETAIN-Befehl ausgeführt werden, um den Wert von Zeile zu Zeile beizubehalten und das Ergebnis am letzten Datensatz auszugeben.

Data want; 
    Set have end=eof; 
    Retain prod_b prod_c; 
    prod_b = prod_b * b; 
    prod_c = prod_c * c; 
    Freq= _n_; 
If eof then OUTPUT; 
    Keep prod: freq; 
Run; 
+0

Großartig, danke! – Erosennin