【发布时间】:2016-12-18 19:57:38
【问题描述】:
我试图弄清楚如何在 SAS 的数据步骤中的循环中调用宏变量,但我迷路了;所以我有 14 个宏变量,我必须将它们中的每一个与向量的条目进行比较。我试过了:
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;
但循环无法解析宏变量。
【问题讨论】:
-
您使用宏变量而不是数组是否有原因?
-
从您的代码看来只有一个变量而不是“向量”。如果 DATE 的值与任何宏变量值匹配,是否要将新变量设置为 1?