SAS Proc Datasets - 使用宏变量更改数据集名称
Posted
技术标签:
【中文标题】SAS Proc Datasets - 使用宏变量更改数据集名称【英文标题】:SAS Proc Datasets - Change dataset name using macro variable 【发布时间】:2017-08-15 15:21:11 【问题描述】:我想使用串联的宏变量更改 SAS 中的数据集名称。使用下面的示例代码我得到一个错误。我的语法是错误的还是不能以这种方式使用连接函数?
代码:
%let term=201610;
%let emp='bob';
Proc Datasets library=work;
change testset = cat(&emp,&term);
run;
收到的错误:
错误 22-322:语法错误,应为以下之一:ALTER、MEMTYPE、MT、MTYPE、PROTECT、PW、READ、WRITE。
ERROR 76-322:语法错误,语句将被忽略。
【问题讨论】:
【参考方案1】:您不需要连接宏变量,这就像查找和替换文本。 因为您现在有引号,所以会发生这种情况:
change testset = cat('bob', 201610)
但是 CAT 函数在那里无效。从技术上讲,您可以使用 %SYSFUNC() 来使用 CAT 函数,但有一种更简单的方法。
%let term=201610;
%let emp='bob';
Proc Datasets library=work;
change testset = &emp&term.;
run;quit;
请注意,PROC DATASETS 需要 QUIT 才能终止。
【讨论】:
'bob' 周围的引号也需要删除 谢谢,已修复。以上是关于SAS Proc Datasets - 使用宏变量更改数据集名称的主要内容,如果未能解决你的问题,请参考以下文章