我正在尝试将SAS宏中的macrovariable用作新列中的值 例如:
%let macrovariable = value;
我想将newcolumn中的每个值赋值为value 怎么办?我在下面使用了这段代码,但最终获得了“& macrovariable”而不是“value”。
SELECT CAST('¯ovariable.' as char) newcolumn
答案 0 :(得分:1)
尝试使用双引号,而不是单引号。
答案 1 :(得分:1)
所以..这就是答案(以防万一有人想知道)
SELECT CAST(%str(%')¯ovariable.%str(%') as char) newcolumn
这样,它实际上是强制宏在传递sql服务器之前用单个qotation读取它。
非常棘手且非常有趣 - 实际上。
答案 2 :(得分:0)
* Add single quotes around mv;
data _null_;
call symput('mvsq',"'&mv.'");
run;
%put &mvsq; *debug;
...
select &mvsq. ...