BookmarkSubscribeRSS Feed

変数の存在チェック

Started ‎03-13-2018 by
Modified ‎04-19-2018 by
Views 3,337

質問

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

回答

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)
Contributors
Version history
Last update:
‎04-19-2018 09:19 PM
Updated by:
Article Labels

SAS Support Communitiesのユーザーガイドライン


コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。

詳細を読む

 

SAS Support CommunitiesのFAQ


SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。

詳細を読む

 

質問や意見の投稿と返信方法について


Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。

詳細を読む

Article Tags