&& SAS

【SAS】マクロ変数の&&について解説

投稿日:

今回はマクロ変数の&&について解説していきます。

(参考:%PUT 【SAS】%PUTステートメントは文字列をログに出力する。その1 | ビジネスイッチ (how-to-business.com)

比較の為、まずは通常のマクロ変数を記載します。


/* & */
%let yyyymm_1 = 202301;

%put &yyyymm_1.;
  • &yyyymm_1.を展開して202301とする。

続いて、&&を用いたパターン


/* && */
%let yyyymm_1 = 202301;
%let num = 1;

%put &num.;
%put &&yyyymm_&num..;

&&の役割としては、以下の2つ。

  1. &&を一旦スルーして次に出てくる&~.を展開する。
  2. 1の終了後、&&⇒&と読み替えて扱う。

動きを解説すると以下の様になります。

-&&, SAS

執筆者:


comment

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

関連記事

【SAS】%MACROはマクロを定義することができる。その2 同名マクロによる再定義【%MEND】

今回は同名マクロによる再定義について解説していきたいと思います。(前回の記事:【SAS】%MACROはマクロを定義することができる。【%MEND】 | ビジネスイッチ (how-to-business …

【SAS】DROPはデータセットから変数を削除する

今回はDROPについて解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com)) /* drop_1 */ data …

【SAS】%SYSFUNC関数はデータステップの外でも関数を使えるようにする。その2(%LETステートメント中の挙動)

今回は%SYSFUNC関数について、%LETステートメント中の挙動に着目して解説します。 /* substr */ %let a = substr(123456789, 2, 4); data dat …

【SAS】IFステートメントは処理を分岐できる。その4~THEN DO, ELSE DO~【END】

今回はIF文の分岐で、複数の命令を実行する方法について、解説していきます。 【併せて読みたい記事】 【SAS】IFステートメントは処理を分岐できる。その1 | ビジネスイッチ (how-to-busi …

【SAS】ARRAYステートメントは配列を設定することができる。その2

今回はarrayステートメント(その2)について解説します。 以前、過去記事でarrayステートメントについて解説していました。⇒【SAS】ARRAYステートメントは配列を設定することができる。 | …