do循环SAS中出错

do循环SAS中出错,sas,sas-macro,Sas,Sas Macro,我需要我的数据临时数据集生成2列。 单词1和单词2。两者都有空白值。do循环中的值将更改。2只是一个虚拟数字 有人能告诉我如何解释这个错误吗 data temp(drop=k); do k=1 to 2; word&k=.; output; end; run; 日志- 警告:表观符号参考K未解析。 错误180-322:语句无效或使用顺序不正确。您需要使用数组,而不是宏变量;你误解了宏变量是如何工作的 data temp(drop=k); array word[2];

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

有人能告诉我如何解释这个错误吗

 data temp(drop=k);
 do k=1 to 2;
  word&k=.;
  output;
end;
run;  
日志- 警告:表观符号参考K未解析。
错误180-322:语句无效或使用顺序不正确。

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

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

宏变量是一个完全不同的系统,需要一种不同的循环(而且,要进入宏中,还需要您尝试的方式)。

嘿,谢谢您的帮助。。你能告诉我如何使用%do循环在宏程序中编写这个吗?你不会;您可以使用数组来编写它。如果您想使用%do循环,请阅读SAS宏入门,它们基本上会教您第一件事。
data temp(drop=k);
  array word[2];
  do k=1 to 2;
    word[k]=.;
    output;
  end;
run;