%MACRO %MEND SAS

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

投稿日:2022年10月1日 更新日:

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


/* %macro_1 */
%macro data1;

  data data1;
    id1="1111"; id2="1111"; id3="1111";
      output;
    id1="2222"; id2="2222"; id3="2222";
      output;
    id1="3333"; id2="3333"; id3="3333";
      output;
  run;

%mend;

%data1;





/* %macro_2 */
%macro data1;

  data data2;
    id1="aaaa"; id2="aaaa"; id3="aaaa";
      output;
    id1="bbbb"; id2="bbbb"; id3="bbbb";
      output;
    id1="cccc"; id2="cccc"; id3="cccc";
      output;
  run;

%mend;

%data1;



  • %macro~%mendでマクロを定義することができる。
  • %data1でマクロを呼び出している(1回目)。→data1出力
  • %data1でマクロを呼び出している(2回目)。→data2出力

-%MACRO, %MEND, SAS

執筆者:


comment

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

関連記事

【SAS】DATASETSプロシージャを使ってデータセットを削除する。その2【KILL】

今回はDATASETSプロシージャを使ってデータセットを削除する方法の続きを解説していきます。(前回の参考:【SAS】DATASETSプロシージャを使ってデータセットを削除する。【DELETE】 | …

【SAS】DATETIME関数はSAS日時値を取得する。

今回はDATETIME関数について解説します。 /* datetime_1 */ data data1; aaaa = datetime(); run; datetime()はSAS時間値を取得する。 …

【SAS】「NOTE: PROC SQLはNOEXECオプションを設定し、ステートメントの構文をチェックします。」の対処法

今回はSQLプロシージャを実行した際に、NOEXECオプションを使用していないにも関わらず、 勝手にNOEXECオプションが有効になってしまう場合の対処法について解説します。 結論:構文エラーを正す。 …

【SAS】PUTは数値型を文字型に変換する

今回はPUTについて解説します。 /*数値8桁*/ data work.a; a = put(20061228, 8.); run; 数値型⇒文字型への変換はputを使う。数値型20061228⇒文字 …

【SAS】足し算。その1(+演算子を用いた計算)

今回は+演算子を用いた足し算について解説します。  /* + */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; I …