【问题标题】:error in do loop SAS执行循环 SAS 中的错误
【发布时间】:2017-08-01 15:29:57
【问题描述】:

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

谁能告诉我如何解释这个错误?

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

日志 -

 180

警告:明显的符号引用 K 未解析。 ERROR 180-322:语句无效或使用顺序不正确。

【问题讨论】:

    标签: sas sas-macro


    【解决方案1】:

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

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

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

    【讨论】:

    • 嘿,谢谢这有帮助.. 你能告诉我如何使用 %do 循环在宏程序中编写这个吗?
    • 你不会;你会用一个数组来写它。如果您想使用 %do 循环,请阅读有关 SAS 宏的入门读物,他们基本上会教第一件事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多