%eval %IF %PUT SAS

【SAS】%PUTステートメントは文字列をログに出力する。その2

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

今回も%PUTについて解説します。

以下の記事では、%putにより、文字列をログに表示できるという内容でした。


/* 1+1 */
%put 1+1;

  • %putにより文字列をログに表示する。
  • 計算式は計算されずにそのまま表示されてしまう。

/* %eval(1+1) */
%put %eval(1+1);

  • %putにより文字列をログに表示する。
  • %evalにより、計算式を計算して出力できる。

/* re_num; 1+1; */
%macro re_num;
  1+1;
%mend;

%put %re_num;

  • %putにより文字列をログに表示する。
  • マクロはデータステップの実行だけでなく、戻り値を返すこともできる。
  • %putはマクロから返された戻り値を出力している。
  • 1+1は計算されずにそのまま表示されてしまう。

/* re_num; %eval(1+1); */
%macro re_num;
  %eval(1+1);
%mend;

%put %re_num;

  • %putにより文字列をログに表示する。
  • マクロはデータステップの実行だけでなく、戻り値を返すこともできる。
  • %putはマクロから返された戻り値を出力している。
  • %eval()により、計算式を計算して出力できる。

/* re_num %eval(%re_num) */
%macro re_num;
  1+1;
%mend;

%put %eval(%re_num);

  • %putにより文字列をログに表示する。
  • マクロはデータステップの実行だけでなく、戻り値を返すこともできる。
  • %putはマクロから返された戻り値を出力している。
  • %eval()により、計算式を計算して出力できる。
  • %eval()の引数内でマクロ呼び出しをしてもエラーとなる。

/* %re_num(1) */
%macro re_num(m);
  %if &m.=1 %then "一致した";
  %else &m.;
%mend;

%put %re_num(1);

  • %putにより文字列をログに表示する。
  • マクロはデータステップの実行だけでなく、戻り値を返すこともできる。
  • %putはマクロから返された戻り値を出力している。
  • 引数を渡したマクロ呼び出しをしている。
  • %ifにより、戻り値が分岐している。

/* %re_num(2) */
%macro re_num(m);
  %if &m.=1 %then "一致した";
  %else &m.;
%mend;

%put %re_num(2);

  • %putにより文字列をログに表示する。
  • マクロはデータステップの実行だけでなく、戻り値を返すこともできる。
  • %putはマクロから返された戻り値を出力している。
  • 引数を渡したマクロ呼び出しをしている。
  • %ifにより、戻り値が分岐している。

-%eval, %IF, %PUT, SAS

執筆者:


comment

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

関連記事

【SAS】SAS日時値からSAS時間値に変換する方法【TIMEPART】【DATETIME】【TIME】

今回はDATETIMEでSAS日時値を取得した後、SAS時間値に変換する方法について解説していきます。 (つまり、DATETIMEの値からTIMEの値に変換する) (DATETIME:【SAS】DAT …

【SAS】INTCK関数を使って年齢計算をする。【PUT】【SUBSTR】【IF】

今回はINTCK関数を使って、年齢計算を行う方法について解説していきたいと思います。 併わせて読みたい記事 (INTCK:【SAS】INTCK関数は指定された区間に指定された単位を何回跨ぐか数える。 …

【SAS】列名と列ラベルの表示を切り替える方法【LABEL】

今回はデータセットにおける列名と列ラベルの表示を切り替える方法を解説します。 /* label */ data data1; attrib Id1 length = 8 label = “Id1111 …

【SAS】INTNX関数は指定期間の条件を満たす日付けを返す。

今回はINTNX関数について解説します。 /* intnx_1 */ data data1; Id1 = intnx(“YEAR”,’16jan2022’d,1); format Id1 yymmdd …

【SAS】YYYY-MM表記にする方法【SUBSTR】【||】

今回はYYYYMMDD表記の年月日をYYYY-MM表記にしたいと思います。 結論:SUBSTRと||を使います。 (SUBSTR:【SAS】SUBSTR関数は文字列から指定した文字数分切り取る。 | …