%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】%PUTステートメントは文字列をログに出力する。その1

今回は%PUTについて解説します。 /* %put */ %put CHAR; %putにより、文字列をログに出力できる。 /* %let */ %let CHAR = aaaa ; %put &am …

【SAS】FORMATはカラムの出力順を制御できる

今回はFORMATについて解説します。 /* format全て指定 */ data data1; id1=”A”; id2=”B”; id3=”C”; id4=”D”; run; data data2 …

【SAS】【SQL】SQLにおける複数テーブルの結合 その1【UNION ALL】【Snowflake】

今回は複数テーブルの結合について解説します。 /* 複数テーブルの結合_1 */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; …

【SAS】0による除算【SAS Base Programming対策3】

今回は0による除算(割り算)を解説します。 数学では「0で割れない」とか、極限の単元だと「∞に発散する」とか言われますが、SASで0による除算を行うとどうなるのか触れていきます。 知ってるか知らないか …

【SAS】IFステートメントは処理を分岐できる。その2~ELSE IF、ELSE~

前回はIF文のオーソドックスな構文を解説しましたが、今回はELSE IFとELSEを使った構文についても解説していきます。 (参考:【SAS】IFステートメントは処理を分岐できる。その1 | ビジネス …