【问题标题】:How to use a basic SAS Macro Array?如何使用基本的 SAS 宏阵列?
【发布时间】:2011-06-20 18:56:52
【问题描述】:

初学者问题:我正在尝试使用本文中解释的 SAS 宏数组:http://www2.sas.com/proceedings/sugi31/040-31.pdf,特别是在 %ARRAY WITH DATA= AND VAR= 部分。不幸的是,没有使用它的完整程序的示例,我在网上找不到任何简单的示例。我试图创建一个简单的例子,猜测一些事情,但没有奏效。 (每个宏都有两个错误:“未解析宏 ARRAY 的明显调用。”和“语句无效或使用顺序不正确。”)我做错了什么?

代码如下:

data data1;
input variable1;
datalines;
1
2
3
4
run;

%array(array1, data=data1, var=variable1);

%do_over(array1, phrase=PROC PRINT DATA=data1(obs=?));
run;

(另外,有谁知道类似这个的SAS网站的名字吗?我记得看过,但我找不到了。)

谢谢!

【问题讨论】:

  • runsubmit.com 是“有点像这个的 SAS 网站”:)
  • 是的,我就是这么想的,谢谢!

标签: arrays macros sas


【解决方案1】:

您可以在 SAS 社区网站上下载包含宏的 zip 文件:http://www.sascommunity.org/wiki/Tight_Looping_with_Macro_Arrays

将它们包含在您的 SAS 程序中,它应该可以工作。

【讨论】:

  • 好的,我最初没有意识到数组宏最初没有安装在SAS中。谢谢!
  • 好的,我发布的程序现在可以运行,但是我遇到了 %do_over 的问题。当我尝试在一个短语中包含两个连接语句时,例如data dataset2; set dataset1;,它不会将第二个语句识别为连接到第一个语句,因此根本不理解第二个语句。你知道有没有办法解决这个问题?谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-03-14
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多