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; |