SAS データセットを結合する

SASのデータセットを結合するサンプルです。

目次

サンプル データセットを結合する(set)
  列を指定してデータセットを結合する(merge)

データセットを結合する(set)

2つの表を1つのデータセットにします。

1つめの表です。科目は国語と算数と英語があります。

 

2つめの表です。科目は国語と算数があります。

 

上記2つの表を結合するコードです。

DATA seiseki3;
	set seiseki1-seiseki2;
run;

2行目は、結合するデータセットです。
マイナス(-)の記号は、from-toを表します。
仮にseiseki1-seiseki3とした場合は、seiseki1とseiseki2とseiseki3を結合します。
マイナス(-)の記号を使用しない場合は、半角スペース区切りで記述します。
例:set seiseki1 seiseki2;

以下は結合した表(データセット)です。

2つめの表にあったデータは、英語がないのでその列は数値が入っていません。
ドット(.)は、欠損値と呼ばれます。

列を指定してデータセットを結合する(merge)

name列を指定して結合するため最初にname列を昇順に並び替えます。

上記1つめの表の列nameを昇順に並べます。

proc sort data = WORK.seiseki1 OUT=WORK.seiseki1srt;
	by name;
run;

上記2つめの表の列nameも昇順に並べます。

proc sort data = WORK.seiseki2 OUT=WORK.seiseki2srt;
	by name;
run;

2つの表の列にあるnameを指定してmergeで1つのデータセットにします。

DATA seiseki4;
	merge seiseki1srt seiseki2srt;
	by name;
run;

以下は結合した表(データセット)です。

1つめと2つめの表にあったsuzukiとtanakaは1行になっています。

関連の記事

SAS cardsからデータセット作成し利用する

△上に戻る