SAS 选项值到宏变量
SAS option value to macro variable
我想将 SAS 选项的值存储在一个宏变量中,这样我就可以重置选项,而不是默认值,而是之前的值,如下所示:
选项 mprint &prev.;
有谁知道如何将当前选项值存储在宏变量中?
像这样:
%let oldValue = %sysfunc(getoption(linesize));
您可以在此处的 SAS 在线文档中查看 SYSFUNC 和 GETOPTION 函数的详细信息:https://support.sas.com/en/documentation.html
每天花十分钟光看文档是值得的,你会学到很多东西。
如果您要更改多个选项,或者不想在单个级别上处理选项,请考虑使用 PROC OPTSAVE
和 PROC OPTLOAD
。如果您在单个会话中使用各种宏和基于宏的框架,这种形式的选项管理特别有用。
libname options 'C:\Temp\MyOptions';
proc optsave out=options.held;
options ls=max ps=max nocenter nodate nonumber orientation=landscape;
%RichardForecastReport(date='01MAR2019')
proc optload data=options.held;
options ls=128 ps=100 center date number orientation=portrait;
%HenrikForecastCharts(date='01MAR2019')
proc optload data=options.held;
… todays adhoc …
我想将 SAS 选项的值存储在一个宏变量中,这样我就可以重置选项,而不是默认值,而是之前的值,如下所示:
选项 mprint &prev.;
有谁知道如何将当前选项值存储在宏变量中?
像这样:
%let oldValue = %sysfunc(getoption(linesize));
您可以在此处的 SAS 在线文档中查看 SYSFUNC 和 GETOPTION 函数的详细信息:https://support.sas.com/en/documentation.html
每天花十分钟光看文档是值得的,你会学到很多东西。
如果您要更改多个选项,或者不想在单个级别上处理选项,请考虑使用 PROC OPTSAVE
和 PROC OPTLOAD
。如果您在单个会话中使用各种宏和基于宏的框架,这种形式的选项管理特别有用。
libname options 'C:\Temp\MyOptions';
proc optsave out=options.held;
options ls=max ps=max nocenter nodate nonumber orientation=landscape;
%RichardForecastReport(date='01MAR2019')
proc optload data=options.held;
options ls=128 ps=100 center date number orientation=portrait;
%HenrikForecastCharts(date='01MAR2019')
proc optload data=options.held;
… todays adhoc …