ここで書いたoutputステートメントを利用してオブザベーションを複製することができます。
RTFファイル(帳票)を作成する際に、元データとしては空行が含まれたデータセットが必要になることがあります。
元データ
data test; sortkey = 1; name = "TEAE"; count_Dose = 100; count_Placebo = 90; output; sortkey = 2; name = "SOC1"; count_Dose = 80; count_Placebo = 40; output; sortkey = 3; name = "PT1"; count_Dose = 50; count_Placebo = 25; output; sortkey = 4; name = "PT2"; count_Dose = 30; count_Placebo = 15; output; run;
![](https://ymddttm.com/wp-content/uploads/2020/04/2020-04-19_01.png)
空行(その1)
全変数をnullにして複製しています。
data out1; set test; if sortkey = 1 then do; output; sortkey = .; name = ""; count_Dose = .; count_Placebo = .; output; end; else output; run;
![](https://ymddttm.com/wp-content/uploads/2020/04/2020-04-19_02.png)
1つめのoutput:sortkey=1をそのまま出力
2つめのoutput:sortkey=1の変数を加工して出力(空行)
3つめのoutput:sortkey=1以外を出力
このデータセットではoutputを記述しているので最後のoutputがないとsortkey=1以外は出力されません(明示的なoutput)。
空行(その2)
帳票として出力する変数のみnullにして複製しています。
こちらのほうが一般的です。
data out2; set test; if sortkey = 1 then do; output; name = ""; count_Dose = .; count_Placebo = .; output; end; else output; run;
![](https://ymddttm.com/wp-content/uploads/2020/04/2020-04-19_03.png)
コメント