SAS Proc数据集 - 使用宏变量更改数据集名称

时间:2017-08-15 15:21:11

标签: sas

我想使用连接的宏变量更改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:语法错误,语句将被忽略。

1 个答案:

答案 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才能终止。