2017-04-03 1 views
0

Angenommen Datensatz wie folgt aussieht:Wie multipliziert man alle Spalten in SAS mit einer anderen Spalte?

A B C 
1 2 0.2 
2 7 0.3 
3 10 0.7 

und ich möchte die Spalten A und B durch C vermehren und die Werte aktualisieren? Was ist der effizienteste Weg, dies zu tun?

+0

Bitte zeig was du hast ried und was Sie als Ausgabe wollen. Dies ist eine sehr grundlegende Frage, es sei denn, etwas fehlt. – Reeza

Antwort

1

Vielleicht bin ich Missverständnis, aber das ist ziemlich einfach. Andererseits sind Grundlagen das wichtigste.

data begin; 
    input A B C; 
    cards; 
    1 2 0.2 
    2 7 0.3 
    3 10 0.7 
    ; 
run; 

data wanted; 
    set begin; 
    AC=A*C; 
    BC=B*C; 
run; 
0
/* Here is an easy example.*/ 
/*Your first data set*/ 
data fisrt; 
input A B C; 
datalines; 
1 2 0.2 
2 7 0.3 
3 10 0.7 
; 
run; 

/*The data you want to get*/ 

data product; 
set first; 
AC=A*C; 
BC=B*C; 
run; 
0

Da Sie suchen nur diese die Werte von a und b versuchen, zu aktualisieren:

data product; 
set first; 
A=A*C; 
B=B*C; 
run; 

alternativ, könnten Sie versuchen:

proc sql noprint; 
    create table product as 
    select a*c as a,b*c as b,c from first;quit; 

und dann vergleichen laufen mal schauen, welche schneller läuft

Verwandte Themen