将最大列值保存到SAS中的全局宏变量

时间:2017-03-27 09:38:01

标签: sas proc-sql

我正在使用SAS Enterprise Guide,并希望将列的最大值保存到全局宏变量中。

我已经知道如何将列的最大值保存到常规宏变量中:

proc sql; 
   SELECT max(column)
   INTO: macro_variable
   FROM dataIn
   ;
quit;

但是如何让SAS将列的最大值保存为全局变量?

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您将SQL查询作为开放代码(不在宏内),那么它将创建一个全局宏变量。如果您在宏内部运行,则只需在前面添加%GLOBAL语句。

proc sql; 
%global macro_variable;
  SELECT max(column)
    INTO :macro_variable
    FROM dataIn
  ;
quit;

请注意,如果您尝试创建一个与现有LOCAL宏同名的GLOBAL宏变量,那么%GLOBAL语句将导致错误。