【SAS】retainステートメント
文字列に関する記事はあまりなさそうだったので備忘録がてら。
個人メモで解説しないです。
やりたいこと:
* 文字型 ⇒ 複数行を1行にまとめる。
* 数値型 ⇒ 累積値を計算する。
サンプルデータ
data a; input a $ b; cards; AA 1 BB 2 CC 3 ; run;
コード
data b;
set a end=end;
length a2 $200;
retain a2 "" b2 0; /* 初期値 */
a2 = catx(" ", a2, a); /* 文字列:空白スペースで連結 */
b2 = b2 + b; /* 数値型:累積 */
if end then do; /* 最終行をマクロ変数にする */
call symputx("txt1", a2);
call symputx("txt2", b2);
end;
run;
output
%put "&txt1."; "AA BB CC" %put "&txt2."; "6"