当前位置:  开发笔记 > 数据库 > 正文

sas存储过程中的宏变量

如何解决《sas存储过程中的宏变量》经验,为你挑选了1个好方法。

我在SAS中有一个代码.

proc sql;
create test as select * from test2 where user_name = &username;quit;

当我在SAS EG中运行时, %let username=Bob它运行正常.但我需要使用存储过程运行它(变量用户名是连接用户的内部参数,我%let username=Bob从sas存储过程代码中删除).存储过程制动器出错.

在日志文件中我看到变量:

_username=Bob但是存储过程中的代码找不到它.如何在SAS存储过程代码中使用此变量?谢谢!



1> Dirk Horsten..:

在您自己的SAS代码中,您使用宏变量username,但在存储过程中,用户名在保留的宏变量中可用_username.下划线实际上是变量名称的一部分,所以你应该写&_username.

有关更多信息,您可以阅读文档,也可以在插入后查阅日志

%put _automatic_;

在您的代码中,打印为您提供的所有宏变量SAS.

备注:由于存储过程中的自动宏变量与本地SAS会话中的自动宏变量不同,如果要在两者中使用相同的代码,则通常需要一些%if %then %else逻辑.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有