ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

変数の存在チェック

[OS] ALL
[リリース] SAS System 8以降
[キーワード] Base, variable, exist, chek, function, VNAMEX

[質問]

データセットに特定の変数が含まれているかどうかをチェックする方法はありますか。

[回答]

VNAMEX関数を使用してチェックできます。

VNAMEX関数の書式は下記のとおりです。


  VNAMEX(変数名)

VNAMEX関数は、引数に指定した変数が存在する場合は変数名を返し、存在しない場合はブランクを返します。
下記に使用例を示します。


  /* サンプルデータ */ 
  DATA test;
    var1 = 1; 
  RUN;

  %MACRO test(dsname,varname); 

  /* マクロ変数 c1 を 0 に設定 */
    %LET c1=0;

    DATA _NULL_; 
      SET &dsname; 
            /* 指定した変数があればマクロ変数c1に1を格納 */
      IF VNAMEX("&varname") = '' then
        PUT "&varname は存在しません。";
      ELSE DO;
        PUT "&varname は存在します。";
        CALL SYMPUT('c1',1);
      END;
    RUN;

     /* マクロ変数 c1 が 1ならPRINTプロシジャを実行 */
    %IF &c1=1 %THEN %DO;
      PROC PRINT DATA=&dsname; 
      RUN;
    %END;

  %MEND;

  %test(test,var1)
  %test(test,var2)

The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved