SASのデータステップ内のループでマクロ変数を呼び出す方法を理解しようとしていますが、紛失しています。私は14のマクロ変数を持っており、それぞれをベクトルのエントリーと比較する必要があります。私は試しました:SASのループでマクロ変数を解決する方法
data work.calendrier;
set projet.calendrier;
do i=1 to 3;
if date= "&vv&i"D then savinglight = 1;
end;
run;
しかし、それは動作していません。変数vv1〜vv3は日付変数です。たとえば、このコードは次のように動作します。
data work.calendrier;
set projet.calendrier;
*do i=1 to 3;
if date= "&vv1"D then savinglight = 1;
*end;
run;
しかし、ループではマクロ変数を解決できません。
配列の代わりにマクロ変数を使用する理由はありますか? – Reeza
あなたのコードからは、「ベクトル」ではなく、1つの変数しかないようです。 DATEの値がマクロ変数の値のいずれかと一致する場合は、新しい変数を1に設定しますか? – Tom