↓前回の続きです。
「MERGEステートメントにBY値を繰り返すデータセットが複数あります。」 とログに出たとき、どんなマージがされているのか。
今回は、BY値を繰り返すMERGEの活用例を紹介します。
例えば製薬業界だと、治験とかで症例の一覧を作成したりしますが、そういった時に使えます。
例
data DT1;
input NO$ SEX:$10. AGE ; cards; 001 男 25 002 女 30 ; data DT2; input NO$ KIO:$200. ; cards; 001 aaa 001 bbb 001 ccc 002 ddd 002 eee ; data DT3; input NO$ GAP:$200. ; cards; 001 AAA 001 BBB 002 CCC 002 DDD ; DT1
DT2
DT3
|
上記3つのデータセットをNOをキーにマージして、最終的に以下のような形でEXCELの一覧を作りたいとします。
普通にMERGEすると、、
望み通りの形になりません(上記の黄色部分を欠損値にしたい)
厄介なのが、DT2とDT3による多対多のマージにより、BY値の繰り返しが起きて、上記3オブザベーション目のGAPにも値が引き伸ばされてしまっている点。
そこで以下で紹介したテクニックで値が引き伸ばされないようにすると、、
「OUTPUT」と「CALL MISSING」のコンボ技
大体、望み通りの形になります。
BY変数にしているNOも繰り返し表示されないように、以下青字のような文を追加すれば完成です。
あとはこれをEXCELにペタっと貼れば完成です。
大体、望み通りの形になります。
BY変数にしているNOも繰り返し表示されないように、以下青字のような文を追加すれば完成です。
0 件のコメント:
コメントを投稿