2つのデータセットの間で全ての組み合わせを求める
[OS] ALL
[リリース] ALL
[キーワード] BASE, SQL, COMBINATION
[質問]2つのデータセットの間で、全ての組み合わせを求める簡単な方法はありますか。
[回答]
SQLプロシジャで簡単に求められます。 プログラム例: dsn1とdsn2の全ての組み合わせをnewに出力する
data dsn1;
input a $ @@;
cards;
A B C
;
run;
data dsn2;
input b @@;
cards;
1 2 3 4 5
;
run;
proc sql;
create table work.new as
select *
from dsn1, dsn2;
quit;
結果:(new)
OBS a b
1 A 1
2 A 2
3 A 3
4 A 4
5 A 5
6 B 1
7 B 2
8 B 3
9 B 4
10 B 5
11 C 1
12 C 2
13 C 3
14 C 4
15 C 5
共通の変数を利用して組み合わせるには、WHEREステートメントを利用します。
data dsn1;
input var a $ @@;
cards;
1 A 2 B 3 C
;
run;
data dsn2;
input var b @@;
cards;
1 1 2 2 2 2 3 3
;
run;
proc sql;
select *
from dsn1, dsn2
where dsn1.var = dsn2.var;
quit;
|
|||