クリーンセッションでローカルに実行する:
%let x = %str(put(age, best.));
proc sql;
select &x from sashelp.class;
quit;
これにより、次のエラーが生成されます。
1 put(age, best.)
----
22
----
76
ERROR 22-322: Syntax error, expecting one of the following: a format name, ?.
ERROR 76-322: Syntax error, statement will be ignored.
ただし、この「手動で解決された」バージョンは、メモ、警告、またはエラーなしで実行されます。
proc sql;
select put(age, best.) from sashelp.class;
quit;
誰かが、実行時に問題を引き起こすこのプログラムで%str()が何をしているのかを正確に説明できますか?漠然とした質問をお詫びしますが、関連するやり取りが何であるかはわかりません。同等のデータステップ構文を使用して複製できないので、おそらくproc SQLの特性が関係していますか?