【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"
本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。