Sas で左結合を実行する方法 (例あり)


次の基本構文を使用して、SAS の 2 つのデータセットで左結合を実行できます。

 proc sql;
    create table final_table as
select * from data1 as x left join data2 as y
    on x.ID = y.ID;
quit;

次の例は、この構文を実際に使用する方法を示しています。

関連: SAS で内部結合を実行する方法

例: SAS の左結合

SAS に次の 2 つのデータセットがあると仮定します。

 /*create datasets*/
data data1;
    input team $points;
    datalines ;
Mavs 99
Spurs 93
Rockets 88
Thunder 91
Warriors 104
Cavs 93
Grizzlies 90
Hawks 91
;
run ;

data data2;
    input team $rebounds;
    datalines ;
Mavs 21
Spurs 18
Rockets 22
Warriors 27
Cavs 15
Hawks 29
;
run ;

/*view datasets*/
proc print data =data1;
proc print data =data2; 

両方のデータセットが変数「 team」を共有していることに注意してください。

次の構文を使用して左結合を実行し、 data1のすべての行と、 data1のチーム名に一致するdata2の行のみを含む新しいデータセットを作成します。

 /*perform left join*/
proc sql;
create table final_table as
	select * from data1 as x left join data2 as y
	on x.team = y.team;
quit ;

/*view results of left join*/
proc print data =final_table; 

結果のデータセットには、 data1の元のチームがすべて含まれていますが、バウンス列の値を持つチームは、 data2にも表示されるチームだけです。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS でデータを正規化する方法
SAS で文字列内の文字を置換する方法
SAS で欠損値をゼロに置き換える方法
SAS で重複を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です