BookmarkSubscribeRSS Feed

変数の存在チェック

Started ‎03-13-2018 by
Modified ‎04-19-2018 by
Views 1,858

質問

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

回答

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

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

Article Labels
Article Tags

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


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

詳細を読む

 

SAS Support CommunitiesのFAQ


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

詳細を読む

 

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


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

詳細を読む