SAS新变量名使用宏变量

SAS new variable name using macro variable

我正在尝试根据宏变量的值创建一个新变量。但是,SAS 将 'vari' 突出显示为红色,似乎表明我做错了什么。不过,该声明似乎仍能正确执行。有什么想法吗?

%let i=7;
data d1;
    set d1;
    vari&i=7;
run;

SAS 语法高亮器是一种辅助工具,但在很多情况下它不是"correct"。特别是对于宏语言,它不能总是猜测符号将如何解析。它没有 SAS 单词 scanner/tokenizer 的所有信息(或智能)。我使用语法高亮来提示可能有问题,但是当我检查代码并确认它是正确的时候我忽略了它。

您示例中的代码没有问题。