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

Save maximum column value to global macro variable in SAS

我在 SAS Enterprise Guide 中工作,想将列的最大值保存到全局宏变量中。

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

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

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

在此先感谢您的帮助。

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

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

请注意,如果您试图创建一个与现有本地宏同名的全局宏变量,则 %GLOBAL 语句将导致错误。