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


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

 proc sql ;
    create table final_table as
    select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
    from data1 as x full join data2 as y
    on x.team = y.team;
quit ;

この特定の例では、完全結合ステートメントを使用して外部結合を実行し、 data1およびdata2というデータ セット内のすべての行を返します。

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

例: SAS での外部結合の実行

SAS に、さまざまなバスケットボール チームに関する情報を含む次の 2 つのデータセットがあるとします。

 /*create datasets*/
data data1;
    input team $points;
    datalines ;
At 18
B22
C19
D 14
E14
F 11
G20
H 28 
;
run ;

data data2;
    input team $assists;
    datalines ;
At 4
B9
C14
D 13
L 10
M 8
;
run ;

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

次の構文を使用して外部結合を実行し、両方のデータセットのすべての行を含む新しいデータセットを作成できます。

 /*perform outer join*/
proc sql ;
    create table final_table as
    select coalesce(x.team, y.team) as team, x.team, x.points, y.team, y.assists
    from data1 as x full join data2 as y
    on x.team = y.team;
quit ;

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

結果のデータセットには、個々のデータセットのすべての行が含まれます。

両方のデータセットのチーム名が結果のデータセットで返されるようにするには、 COALESCE関数を使用する必要があることに注意してください。

この関数を使用しなかった場合、最初のデータセットのチーム列の値のみが結果のデータセットに表示されます。

追加リソース

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

SAS で内部結合を実行する方法
SAS で左結合を行う方法
SAS で重複を削除する方法

コメントを追加する

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