我想使用连接的宏变量更改SAS中的数据集名称。使用下面的示例代码我收到一个错误。我的语法错了还是不可能以这种方式使用连接函数?
代码:
%let term=201610;
%let emp='bob';
Proc Datasets library=work;
change testset = cat(&emp,&term);
run;
收到的错误:
ERROR 22-322:语法错误,需要以下之一:ALTER,MEMTYPE,MT,MTYPE,PROTECT,PW,READ,WRITE。
ERROR 76-322:语法错误,语句将被忽略。
答案 0 :(得分: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才能终止。