首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SAS中为工作数据库分配libname?

如何在SAS中为工作数据库分配libname?
EN

Stack Overflow用户
提问于 2015-06-25 13:02:25
回答 3查看 9.4K关注 0票数 3

我们有一个企业指南项目,在这里我们有多个流程流。每个流程流的输出被保存到名为"SAVE“的特定库中,该库由LIBNAME语句定义。这样做是为了使我们可以更容易地跳转和处理任何流程流,而不需要运行所有上述流程流(当然,除了使用LIBNAME语句初始化保存库的流程流外)。

但是,当我们想在生产服务器上运行这段代码时,我们希望这个保存库指向SAS工作数据库,因为我们不需要这个中间数据。

是否可以使用LIBNAME语句指导图书馆工作数据库(例如:"LIBNAME拯救SAS.WORK;")

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-26 18:37:55

定义libref使用LIBNAME语句。要查找现有libref使用的路径,请使用PATHNAME()函数。

代码语言:javascript
复制
libname save %sysfunc(quote(%sysfunc(pathname(work)))) ;

请小心使用此技巧,因为SAVE.memname和WORK.memname现在将引用相同的物理文件。由于名称冲突,在开发环境中工作的代码可能无法工作。

票数 4
EN

Stack Overflow用户

发布于 2015-06-25 13:15:54

好吧,我找到办法了。

代码语言:javascript
复制
%let workLocation=%sysfunc(getoption(work));
libname SAVE "&workLocation.";

还有更简单的解决办法:

代码语言:javascript
复制
libname SAVE (work);
票数 3
EN

Stack Overflow用户

发布于 2015-06-25 13:18:16

您可以做的一件事是重新分配工作库,以便它指向保存库所在的位置。

在这里,在第1点,他们解释了如何做到这一点:https://riskopedia.wordpress.com/2007/03/06/reassign-location-on-sas-work-folder/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31051172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档