簡體   English   中英

如何將libname分配給SAS中的WORK數據庫?

[英]How can I assign libname to WORK Data Library in SAS?

我們有一個企業指南項目,我們有多個流程。 每個流程的輸出都保存到名為“SAVE”的特定庫中,使用LIBNAME語句定義。 這樣做是為了讓我們可以更輕松地跳轉並處理任何流程,而無需運行所有上述流程(當然除了使用LIBNAME語句初始化SAVE庫的流程流程)。

但是,當我們想在PRODUCTION服務器上運行此代碼時,我們希望此SAVE庫指向SAS WORK數據庫,因為我們不需要這個中間數據。

是否可以使用LIBNAME語句(例如“LIBNAME SAVE SAS.WORK;”)將庫指向WORK數據庫?

定義libref使用LIBNAME語句。 要查找現有libref使用的路徑,請使用PATHNAME()函數。

libname save %sysfunc(quote(%sysfunc(pathname(work)))) ;

請小心使用此技巧,因為SAVE.memname和WORK.memname現在將引用相同的物理文件。 由於名稱沖突,在您的開發環境中工作的代碼可能不起作用。

好的,我找到了辦法。

%let workLocation=%sysfunc(getoption(work));
libname SAVE "&workLocation.";

甚至有更簡單的解決方案:

libname SAVE (work);

您可以做的一件事是重新分配WORK庫,使其指向您的SAVE庫所在的位置。

這里,在第1點,他們解釋了如何做到這一點: https//riskopedia.wordpress.com/2007/03/06/reassign-location-on-sas-work-folder/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM