do loop SAS中的错误

时间:2017-08-01 15:29:57

标签: sas sas-macro

我需要我的数据临时数据集来生成2列。 word1和word2。两者都有空白值。 do循环中的值将改变。 2只是一个虚拟数字。

有人可以告诉我如何解释这个错误吗?

 data temp(drop=k);
 do k=1 to 2;
  word&k=.;
  output;
end;
run;  

日志 -

 180

警告:未解析显式符号引用K. 错误180-322:声明无效或使用不正确。

1 个答案:

答案 0 :(得分:1)

您需要使用数组,而不是宏变量;你误解了宏变量是如何工作的。

data temp(drop=k);
  array word[2];
  do k=1 to 2;
    word[k]=.;
    output;
  end;
run;

宏变量是一个完全不同的系统,需要一种不同类型的循环(并且,在宏内部,你尝试这样做的方式)。