前のページ|次のページ

SYMLOCAL関数

DATAステップの実行時に、マクロ変数のスコープがローカルかどうかを示す値をDATAステップに返します。

種類: DATAステップ関数

構文

SYMLOCAL(argument)

必須引数

argument

次の項目のいずれかです。

  • 引用符で囲み、アンパサンドを付けないマクロ変数の名前。
  • DATAステップ文字変数の名前。引用符を付けずに指定し、マクロ変数名を格納します。
  • マクロ変数名を作成する文字式

詳細

SYMLOCAL関数は、かっこで囲まれたスコープを検索して同じ名前のマクロ変数が存在するかどうかを調べ、そのマクロ変数がグローバルシンボルテーブル内に存在する場合は値1を返し、それ以外の場合は0を返します。グローバル/ローカルシンボルテーブルやマクロ変数のスコープに関する詳細については、を参照してください。

例: SYMLOCAL関数の使用

次の例では、%TESTマクロにSYMLOCAL関数が含まれています。
  %global x;
       %macro test;
       %local y;
       data null;
          if symlocal("x") then put "x is LOCAL";
                                 else put "x is not LOCAL";
          if symlocal("y") then put "y is LOCAL";
                                 else put "y is not LOCAL";
          if symlocal("z") then put "z is LOCAL";
                                 else put "z is not LOCAL";
       run;
       %mend test;
       %test;
前述の例では、SYMLOCAL関数を含む%TESTマクロが実行されると、次の出力がSASログに書き込まれます。
 x is not LOCAL y is LOCAL z is not LOCAL
前のページ|次のページ|ページの先頭へ