変数をマクロ変数に入れるスポンサーリンクtips(SAS)2020.06.222020.08.18あまりやらない処理ですが、業務で使うことがあったのでメモ。データセット内の変数であってもcall symputルーチンによってマクロ変数に入れることができます。例1コードdata test_1; aaa = "xxx"; call symput("val", aaa); run; %put &val.;変数をcall symputによってマクロ変数に入れ、その値をログ出力しています。他の例も同様です。結果ログ例2コードdata test_2; bbb = 123; call symput("val", strip(put(bbb, best.))); run; %put &val.;数値の場合も文字へ変換することで同様に処理できます。結果ログ例3コードdata test_3; set sashelp.class; call symput("val", name); run; %put &val.;オブザベーションが複数あるデータセットの場合、当然ながら最後のオブザベーションが対象となります。意図した結果にならない場合は事前に必要なオブザベーションをwhere等で限定する必要があります。結果ログ
コメント