データセットに特定の変数が含まれているかどうかをチェックする方法はありますか。
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)
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.
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。