2016-07-13 2 views
0

Ich habe zwei Datensätze und ich versuche, sie zu verschmelzen, wie es getan würde, wenn ich einen lef join Ansatz auf SQL verwenden würde.Zwei Datensätze in SAS zusammenführen. Wie wählt man die Variablen der zusammengeführten Daten?

Ich habe diesen Code erstellt:

Data final_dataset; 
merge table_1 (in=a) table_2; 
if a=1; 
keep Var1 Var2 Var3 Var4 Var5; 
run; 

Das Problem ist, dass in beiden Datensätzen Ich habe Variablen mit dem gleichen Namen. Zum Beispiel sind Var1 und Var2 beide in table_1 und table_2, aber ich möchte, dass die zusammengeführten Daten nur die Variablen Var1 und Var2 von table_1 haben. Wie kann ich das machen?

Wenn es ein proc sql waren der Code wäre so etwas wie das sein:

proc sql; 
create table final_dataset 
as select 
A.Var1 A.Var2 B.Var3 B.Var4 B.Var5 
from table_1 as A left join table_2 as B 
on A.Var1 = B.Var1; 

Aber ich versuche SAS Sprache zu lernen, und ich möchte wissen, ob es einen Weg gibt, zu tun, was ich in dieser Sprache wollen .

Antwort

1

Normalerweise zum Zusammenführen benötigen Sie BY-Variablen. Wenn Sie keine Variablen aus einem der Datensätze benötigen, verwenden Sie einfach die Option DROP = oder KEEP = dataset, um sie zu eliminieren. Wenn Sie Variablen von beiden Variablen als separate Variablen beibehalten möchten, verwenden Sie die Option RENAME = dataset.

data final_dataset; 
    merge table_1 (in=in1 keep=var1 var2) 
     table_2 (keep=var1 var3 var4 var5) 
    ; 
    by var1; 
    if in1; 
run; 
Verwandte Themen