CALL SYMPUT SAS

【SAS】CALL SYMPUTは関数を用いてマクロ変数の代入ができる。

投稿日:2021年10月15日 更新日:

今回はCALL SYMPUTについて解説します。


/*その1*/
data data1;
  kyo = today();
run;
  • today()は本日の日付をSAS日付で取得する。

/*その2*/
data data1;
  kyo = put(today(),yymmdd10.);
run;
  • today()は本日の日付をSAS日付で取得する。
  • putにより、today()の値をyymmdd10.形式にしてkyoに代入する。

/*その3*/
%let kyo=2021-10-15;
%put &kyo.;
  • %letでkyoに「2021-10-15」が代入される。

/*その4*/
%let kyo = put(today(),yymmdd10.);
%put &kyo.;
  • その2とその3を合わせて、マクロ変数「kyo」に「put(today(),yymmdd10.)」を代入したいが、関数が計算されずに文字列として代入されてしまっている。
  • 関数はデータセットの中でしか使えない。

/*その5*/
data _NULL_;
  call symput("kyo",put(today(),yymmdd10.));
run;

%put &kyo.;
  • マクロ変数への代入で関数を使いたい場合はCALL SYMPUTを使う。
  • kyoに「2021-10-15」が代入される。

-CALL SYMPUT, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】データセットをエクセルファイルとしてエクスポート(出力)する

今回はデータセットをエクセルファイルとしてエクスポートする方法について解説します。 data data1; id1=”1111″; id2=”1111″; id3=”1111″; output; id …

【SAS】IF文はデータ読み込み後にフィルター、WHERE文はデータ読み込み時にフィルターをする。

今回は、データ入力に着目して、IF文とWHERE文の違いを解説します。 /* if */ data data1; Id1=1111; Char1=”AAAA”; output; Id1=2222; C …

【SAS】ATTRIBの使い方を解説

今回はATTRIBの使い方を解説していきます。 (参考:【SAS】ATTRIBとRENAMEを同時に使うときの注意点 | ビジネスイッチ (how-to-business.com)) /* 長さ */ …

【SAS】NODUPKEYはソート時に重複を削除する

今回はNODUPKEYについて解説します。 data data1; id=”A”; chiku=”SHINJUKU1″; 数字=1; output; id=”A”; chiku=”SHINJUKU2″ …

【SAS】SASで良く使うテクニック。その12「Ctrl+F」「Ctrl+R」~特定の文字列を検索、置換~【サクラエディタ】

今回はSASで良く使うテクニックということで、特定の文字列を検索、置換したい時は、「Ctrl+F」「Ctrl+R」が役に立つ理由を解説していきます。 以下のようにテーブルがあったとします。(参考:【S …