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 で他の一般的なタスクを実行する方法について説明します。