Unix サーバーのコードの一部が機能していませんが、PC SAS では機能します。UNIX SAS で実行すると、出力データセット pc_pf_yes_1 と pc_pf_no_1 の観測値はどちらも 0 ですが、エラーは観測されません。PC SAS では、コードは正常に機能し、意図したとおりにデータセットに入力されます。
以下のデータステップはマクロ内にあります。
data pc_pf_yes_1 pc_pf_no_1;
set pc_&month._2;
if primary_flag = "Y" then output pc_pf_yes_1;
else if primary_flag = "N" then output pc_pf_no_1;
run;
primary_flag は、値 Y と N を持つバイナリ変数で、長さ 1 の文字列として格納されます。データ選択用の月名を格納するマクロ変数です。
私が知らないマクロ内の UNIX SAS の癖はありますか?