2016-07-13 14 views
0

私は2つのデータセットを持っており、SQLlef joinのアプローチを使用していた場合、それらをマージしようとしています。SASで2つのデータセットをマージします。マージされたデータの変数を選択する方法は?

私はこのコードを作成しました:

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

問題は、両方のデータセットに、私は同じ名前の変数を持っているということです。たとえば、Var1Var2は両方ともtable_1table_2にありますが、からVar1Var2という変数だけが必要です。どうやってやるの?それはproc sqlた場合

コードは、そのようなものになるだろう:

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; 

しかし、私はSAS言語を習得しようとしていると私は、この言葉で私が欲しいものを行うための方法があるかどうかを知りたいです。

答えて

1

通常、マージするにはBY変数が必要です。 データセットのいずれかの変数を必要としない場合は、DROP =またはKEEP =データセットオプションを使用して変数を削除してください。両方の変数を別々の変数として保持する場合は、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; 
関連する問題