tl;dr:在增强型编辑器资源管理器中,SAS 库可以相互嵌套吗?

我正在使用生成大量数据集的代码。尽管有许多单独的数据集,但它们可以分为不同的类别。例如,其中可能有 30 个是传入的“原始”数据,另外 50 个是分析“结果”,其余 20 个是“中间”步骤。

目前,所有 100 个数据集都位于 Work 目录中。它们已被很好地命名,因此它们在 SAS Explorer 窗口中彼此相邻。但是,我更愿意将它们组织在文件夹中。

一种方法是在临时 Work 文件夹中创建新目录。

%let dirWORK = %sysfunc(pathname(Work));

options dlcreatedir;

libname raw     "&dirWORK./raw";
libname interm  "&dirWORK./intermediate";
libname results "&dirWORK./results";

作为 Work 的子目录,这些目录及其内容将在 session 结束时被删除。这是可以接受的。

令人不满意的是 rawitermresults 库如何在“事件库”中而不是在“工作内容”中出现上一级。这种行为有点违反直觉和尴尬。
  • 有没有办法在“目录”中查看 Work 的子文件夹
    SAS Explorer 中的“工作”?
  • 也许还有另一种方法来分隔数据集( DCREATE ?),这会导致资源管理器窗口的行为类似于典型的文件浏览器?
  • 最佳答案

    图书馆可以包含很多东西......但不是其他图书馆。您的“事件库”将始终在同一级别显示您的(可用)库列表,无论它们是在何处或如何定义的:

    SAS - 创建嵌套在 WORK 中的新库-LMLPHP

    如果您想像典型的文件浏览器一样查看数据集,一种选择是使用资源管理器窗口。只需单击查看/资源管理器,然后以这种方式导航到您的数据集。

    例如:

    %let dirWORK =C:/temp/work;
    options dlcreatedir;
    libname raw     "&dirWORK./raw";
    libname interm  "&dirWORK./intermediate";
    libname results "&dirWORK./results";
    
    data raw.test;
    set sashelp.class;
    run;
    

    SAS - 创建嵌套在 WORK 中的新库-LMLPHP

    关于SAS - 创建嵌套在 WORK 中的新库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45290608/

    10-14 08:51