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】”dはDATE9形式(ddMONyyyy)をSAS日付に変換する。

”dについては、過去の記事でも触れています。 【SAS】SASで日付を扱う(年月日)【”d】 【YEAR()】【MONTH()】【DAY()】【MDY()】 | ビジネスイッチ (how- …

【SAS】PATHNAME関数はライブラリのディレクトリパスを返す

今回はPATHNAME関数について解説します。 data data1; Id1 = pathname(“work”); run; pathnameによりライブラリworkのディレクトリパスを代入できる …

【SAS】SUMは足し算をする。その1【SQL】

今回はSQLのSUMについて解説します。 /* SUM_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=222 …

【SAS】VERIFYは引数の文字を含まない最初の位置を返す

今回はVERIFYについて解説します。 /*正常形*/ data data1; Id1=”AAAA”; output; Id1=”ABAB”; output; Id1=”ABCD”; output; …

【SAS】ATTRIBによる形式変換とPUTによる形式変換の違いを解説

今回は、ATTRIBによる形式変換とPUTによる形式変換の違いを解説します。 結論:ATTRIBは入力項目が数値型、文字列型どちらにも対応できるが、    PUTは入力項目が数値型の時しか使えない。 …