2016年5月12日木曜日

マクロ言語入門3:パラメータの設定【定位置パラメータ】



マクロに「定位置パラメータ」というものを設定する方法を紹介します。





基本構文



マクロの登録
%MACRO  マクロ名( マクロ変数1, マクロ変数2 ・・・ );

   ~プログラム~

%MEND;

  • 同名のマクロを同じ場所(カタログ)に複数作成することは出来ないので注意(上書きされる)
  • 「%MACRO」~「%MEND;」の中にマクロとして登録したいプログラムを書きます。
  • マクロ内で使用したいマクロ変数を「マクロ名」のカッコ内に列挙しておきます。




上記「マクロ名」のカッコ内に列挙したマクロ変数に対し、以下のように値を設定してマクロを実行します。

マクロの実行
%マクロ名( マクロ変数値1, マクロ変数値2 ・・・ )

  • マクロ変数値の両端に半角スペースを入れても、それらスペースはマクロ変数に含められません(別記事で解説する%STR関数を使用して含めることも可)
  • また、実行時「このマクロ名はNG」「このステートメントはマクロではNG」などのマクロのルールに違反している旨のログメッセージがないかも要確認です。






*** マクロ登録 ;
%macro TEST( DS );
     proc print data=&DS;
     run;
%mend;

*** マクロ実行 ;
%TEST( SASHELP.CLASS )
;

  • %macro TEST( DS )」 で「TESTマクロにDSというマクロ変数があるよ」と教えておく。
  • %TEST( SASHELP.CLASS )」でマクロ変数DS に SASHELP.CLASS という値を当てはめて実行。


最終的に以下のプログラムが展開・実行されます。

proc print data=SASHELP.CLASS;
run;




記事一覧

1. マクロ変数とは
2. マクロの登録と実行
3. 定位置パラメータ
4. キーワードパラメータ
5. クォート処理
6. クォート処理2
7. ループ処理
8. 条件分岐処理
9. ドット
10. &&
11. 演算評価
12. 補足


0 件のコメント:

コメントを投稿