M×Nのデータ結合

「M×Nのデータ結合」の編集履歴(バックアップ)一覧はこちら

M×Nのデータ結合」(2008/10/13 (月) 00:06:06) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

・N×Mのマッチマージ 【問題】data1、data2からdata3を作成する。 #image(http://www39.atwiki.jp/sas_help/?cmd=upload&act=open&page=%E5%8F%82%E7%85%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%80%E8%A6%A7&file=logic1.JPG) #highlight(sas){ /*---------------* data create *---------------*/ data data1; length id 8 ae1 $3; do id=1 to 2; ae1="A"; output; ae1="B"; output; end; run; data data2; infile cards; length id 8 ae2 $3; input id ae2; cards; 1 X 2 X 2 Y 2 Z 3 X ; run; /*--------------------* merge (SQL) *-------------------*/ proc sql; create table data3 as select a.* , b.ae2 from data1 as a full join data2 as b on a.id = b.id ; quit; * data2(b)にしかidがない場合、id変数が欠測になってしまうので何か対策が必要(>_<) *; /*--------------------* merge *--------------------*/ proc transpose data=data1 out=data11; var ae1; by id; run; data data12; merge data11(in=in1) data2; by id; keep id ae1 ae2; array a_var[*] col:; if in1 then do; do i= 1 to dim(a_var); if a_var(i) ne "" then do; ae1=a_var(i); output; end; end; end; else do; output; end; run;} #hr(height=1,color=#002bb8)
・N×Mのマッチマージ 【問題】data1、data2からdata3を作成する。 #image(http://www39.atwiki.jp/sas_help?cmd=upload&act=open&pageid=19&file=logic1.JPG) #highlight(sas){ /*---------------* data create *---------------*/ data data1; length id 8 ae1 $3; do id=1 to 2; ae1="A"; output; ae1="B"; output; end; run; data data2; infile cards; length id 8 ae2 $3; input id ae2; cards; 1 X 2 X 2 Y 2 Z 3 X ; run; /*--------------------* merge (SQL) *-------------------*/ proc sql; create table data3 as select a.* , b.ae2 from data1 as a full join data2 as b on a.id = b.id ; quit; * data2(b)にしかidがない場合、id変数が欠測になってしまうので何か対策が必要(>_<) *; /*--------------------* merge *--------------------*/ proc transpose data=data1 out=data11; var ae1; by id; run; data data12; merge data11(in=in1) data2; by id; keep id ae1 ae2; array a_var[*] col:; if in1 then do; do i= 1 to dim(a_var); if a_var(i) ne "" then do; ae1=a_var(i); output; end; end; end; else do; output; end; run;} #hr(height=1,color=#002bb8)

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。