ユーザー入力に基づいて、コードの特定のセクションをオンまたはオフに切り替えるプログラムを作成しようとしています。以下のコードは、prog1変数がYに設定されている場合にのみ実行する必要があります。しかし、私のログは、コードが何であっても実行されていることを示しています。誰が何が起こっているか知っていますか?SASでトグル・ステートメントを使用する
コード:
%let prog1 = Y;
%let prog2 = N;
data _null_;
if "&prog1." = "Y" then do;
%findit(&file1.);
%findit(&file2);
end;
run;
data _null_;
if "prog2." = "Y" then do;
%findit(&file3.);
end;
run;
ログイン:
私はこれを試しましたが、%ifステートメントがオープンコードで無効であるというエラーが表示されました。別のマクロを作成して実行すると言っていますか? – theponcer
はい、このソリューションでは、%checkという名前の新しいマクロ関数を作成する必要があります。それ以外の場合は、%if、%を使用することはできません。 – Thogerar