マクロに「定位置パラメータ」というものを設定する方法を紹介します。
マクロの登録
%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; |
2. マクロの登録と実行
3. 定位置パラメータ
4. キーワードパラメータ
5. クォート処理
6. クォート処理2
7. ループ処理
8. 条件分岐処理
9. ドット
10. &&
11. 演算評価
12. 補足
0 件のコメント:
コメントを投稿