SAS-创建嵌套在工作中的新库
tl;dr:SAS库能否在增强型编辑器资源管理器中相互嵌套? 我正在使用生成大量数据集的代码。虽然有许多单独的数据集,但它们可以分为不同的类别。例如,其中30个是输入的“原始”数据,另外50个是分析“结果”,其余20个是“中间”步骤 目前,所有100个数据集都位于SAS-创建嵌套在工作中的新库,sas,Sas,tl;dr:SAS库能否在增强型编辑器资源管理器中相互嵌套? 我正在使用生成大量数据集的代码。虽然有许多单独的数据集,但它们可以分为不同的类别。例如,其中30个是输入的“原始”数据,另外50个是分析“结果”,其余20个是“中间”步骤 目前,所有100个数据集都位于Work目录中。它们的名称很好,因此在SAS资源管理器窗口中彼此相邻。但是,我更愿意将它们组织在文件夹中 一种方法是在临时Work文件夹中创建新目录 %let dirWORK = %sysfunc(pathname(Work)); o
Work
目录中。它们的名称很好,因此在SAS资源管理器窗口中彼此相邻。但是,我更愿意将它们组织在文件夹中
一种方法是在临时Work
文件夹中创建新目录
%let dirWORK = %sysfunc(pathname(Work));
options dlcreatedir;
libname raw "&dirWORK./raw";
libname interm "&dirWORK./intermediate";
libname results "&dirWORK./results";
作为工作
的子目录,这些目录及其内容将在会话结束时删除。这是令人愉快的
不令人满意的是raw
、iterm
和results
库如何在“活动库”中而不是在“工作内容”中向上显示一级。这种行为有点违反直觉和尴尬
- 是否有办法查看“目录”中的
子文件夹 SAS Explorer中“工作”的名称李>Work
- 也许有另一种方法可以分离数据集(
?),从而使资源管理器窗口的行为类似于典型的文件浏览器DCREATE
exproot dir="%sysfunc(pathname(work))" title="Work Directory"
图书馆可以包含很多东西。。但不是其他图书馆。您的“活动库”将始终在同一级别显示您的(可用)库列表,无论它们在何处或如何定义: 如果希望像典型的文件浏览器一样查看数据集,可以选择使用资源管理器窗口。只需单击“视图/资源管理器”,并以这种方式导航到您的数据集 例如:
似乎没有理想的解决方案。我所能设计的最佳方案需要使用两个部分名称、大量额外代码和自定义设置,这可能会让其他程序员感到困惑。最简单的配置似乎是默认行为:简单地转储
工作
库中的所有数据集并筛选所有数据集
为了繁荣,这是我能想出的组织事情的最好办法
日志
、结果
、pgm
、输出
和浏览器
等窗口。这里主要关心的是后者
用户可以使用菜单配置每个会话的窗口。但是,存在一个可用于为每个会话自动配置DM的。当与AUTOEXEC.sas
一起使用时,这允许用户“永久”地根据自己的喜好配置sas编辑器
增强编辑器的默认explorer
视图为“SAS环境”的内容
当选择资源管理器
窗口时,可以切换树层次视图。有几种方法可以做到这一点。这里有一个方法:
explorer
窗口视图>显示树
工作
、SASHELP
和SASUSER
,以及属于非基础产品的其他产品。在我的例子中,MAPS
、MAPSGFK
和mapsas
库也被加载(参见上图)。由于我从未使用过这些(而且可能永远也不会),它们只会把我的库目录弄得乱七八糟。要删除这些,可以编辑它们的配置文件
SAS实现了一个完整的web服务。在Windows系统上,可能相关的sasv9.cfg
文件位于此处:
C:\Program Files\SASHome\SASFoundation\9.4
C:\ProgramFiles\saHome\SASFoundation\9.4\nls\en
您需要管理员权限才能编辑它。忽略此行下方的请勿编辑警告,使用PL/I样式注释掉以下内容
联合国评论:
-MAPS !SASROOT\maps
-MAPSGFK !SASROOT\mapsgfk
-MAPSSAS !SASROOT\maps
评论:
/* -MAPS !SASROOT\maps*/
/* -MAPSGFK !SASROOT\mapsgfk*/
/* -MAPSSAS !SASROOT\maps*/
现在,当SAS打开时,MAPS
、MAPSGFK
和mapsas
库将不会自动加载。不幸的是,似乎没有办法禁用加载SASUSER
和SASHELP
库。如果有人知道怎么做,请告诉我
配置资源管理器窗口
explorer
窗口可以使用和AUTOEXEC.sas
进行“配置”
导航到包含SAS.EXE
的目录。在默认Windows安装中,它位于以下位置:
C:\Program Files\SASHome\SASFoundation\9.4
创建一个名为AUTOEXEC.SAS
的SAS程序,其中包含以下代码,并将其放置在包含SAS.EXE
的目录中。此步骤需要管理员权限。我发现在非特权环境中创建文件最简单,只需将AUTOEXEC.sas
程序复制到目录中即可
包括
dm 'dmsexp; tree; expand libraries; expand work;';
/*Determine location of Work directory*/
%let dirWORK = %sysfunc(pathname(Work));
/*Allow LIBNAME statement to create new directories*/
options dlcreatedir;
/*Create sub-folders within the temporary Work directory
and assign librefs*/
libname raw "&dirWORK./raw";
libname interm "&dirWORK./intermediate";
libname results "&dirWORK./results";