gpt4 book ai didi

sas - 在 SAS 的 INCLUDE 命令中使用 LET 变量?

转载 作者:行者123 更新时间:2023-12-04 21:24:56 25 4
gpt4 key购买 nike

我试图通过定义一个名为 root 的宏变量来组织我的 SAS 代码。然后,我希望能够拥有我所有的%INCLUDE语句使用 &root值所以我可以定义 %INCLUDE在根方面:

%LET root = C:\Documents and Settings\me\Desktop\mine\SAS;
%include "&root\lib\work.sas"

但是,当尝试在 SAS 9.2 下运行它时,我从日志中收到以下错误:
1    %LET root = C:\Documents and Settings\me\Desktop\mine\SAS;
ERROR: Incorrect %INCLUDE statement will not be executed. There is a syntax error.
2 %include "&root\lib\work.sas"

所以它看起来像 &root变量没有被扩展为它在 %INCLUDE 中的值陈述。我究竟做错了什么?

谢谢!

[编辑] 答案

我错过了 ';'%INCLUDE陈述。 =/

最佳答案

在这种情况下,您可能需要使用分隔符,它标记宏变量名称的结尾,即“.”,因此您的代码将如下所示:

%LET root = C:\Documents and Settings\me\Desktop\mine\SAS;
%include "&root.\lib\work.sas"

这实际上仅在变量名称“接触”某些东西时才需要,但我建议始终使用它 - 这是一个很好的做法。此外,当变量名称后面有一个点时,您应该放置“那个”点,因此会有两个点,例如:
%LET root = C:\Documents and Settings\me\Desktop\mine\SAS;
%LET fname = work;
%include "&root.\lib\&fname..sas"

编辑

正如@Joe 在其他答案中正确指出的那样,这种情况下的真正问题是 之后缺少分号%包括 陈述。将它放在路径之后应该可以解决问题。

关于sas - 在 SAS 的 INCLUDE 命令中使用 LET 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12481549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com