我试图使用macrovariable在SAS宏作为值在newcolumn 例如:宏赋值在SQL Server通过
%let macrovariable = value;
我想在newcolumn每一个值指定为值 怎么能做到这一点?我在下面用这个代码,但最终GET“& macrovariable”而不是“价值”。
SELECT CAST('¯ovariable.' as char) newcolumn
我试图使用macrovariable在SAS宏作为值在newcolumn 例如:宏赋值在SQL Server通过
%let macrovariable = value;
我想在newcolumn每一个值指定为值 怎么能做到这一点?我在下面用这个代码,但最终GET“& macrovariable”而不是“价值”。
SELECT CAST('¯ovariable.' as char) newcolumn
尝试使用双引号而不是单引号。
所以..这里的答案(以防万一有人想知道)
SELECT CAST(%str(%')¯ovariable.%str(%') as char) newcolumn
通过这种方式,它实际上是强制宏与直通SQL Server之前单一qotation阅读。
很棘手,很好玩 - 实际上。
的清洁器的方法是:SELECT CAST(%BQUOTE( '&MACROVARIABLE')为char)newcolumn – 2011-03-17 12:54:37
这是真棒!谢谢克里斯 – iamjeannie 2011-03-18 18:27:55
* Add single quotes around mv;
data _null_;
call symput('mvsq',"'&mv.'");
run;
%put &mvsq; *debug;
...
select &mvsq. ...
感谢,为快速答复,但是当我使用双引号,它要求列“值” – iamjeannie 2011-03-15 17:00:23
我能够在本机SAS没有问题运行。您是否在Enterprise Guide中运行?可能有一个选项可以关闭默认提示。 – 2011-03-15 17:23:30
我用过9.3。它要求我的字段或列名为“价值”,而不是承认值作为actaul值。 – iamjeannie 2011-03-15 17:40:18