【发布时间】:2014-12-23 12:24:34
【问题描述】:
我正在尝试创建一个包含稍后在数据步骤中执行的字符串的宏变量。我遇到的问题是我需要宏变量包含分号。以下不起作用。如何在此变量声明中添加分号?
%let commandString='';
data _null_;
set DATA;
if decile =1 then call symput('commandString', cat(&commandString, " if p_adj >", min, " then decile_ =1" , %str(;) ) ) ;
run;
%put &commandString
添加:
这就是我希望发生的事情。我希望结果是
First Part; Second Part;
但它不起作用。
%let commandString=%nrstr('First Part';);
data _null_;
call symput('commandString',cat(&commandString,%nrstr('Second Part';)) ;
run;
%put &commandString;
【问题讨论】:
-
你想做什么?
-
最后,我想创建一个宏变量,该变量具有用于对数值变量进行分箱的 if then 规则。例如:“如果 p_adj >= 0.025 and p
-
我知道这不能回答您的问题,但这通常不是进行重新编码/分箱的好方法。如果您提供更多详细信息,也许会有更简单的解决方案。如果您想坚持使用这种方法,我相信其他人会有答案。
标签: sas