【问题标题】:Export .sas7bdat from SAS Studio to local machine将 .sas7bdat 从 SAS Studio 导出到本地计算机
【发布时间】:2016-07-10 19:13:27
【问题描述】:

我正在使用 SAS Studio(完全基于浏览器)。我需要以 .sas7bdat 文件格式将数据集导出到本地计算机。我认为它应该类似于PROC EXPORT data = sqrtReg2 outfile = "C:\Documents\SAS\Target_Wins.sas7bdat";。但这会返回错误ERROR: Unable to determine datasource type. Please use the DBMS= option.。但 DBMS 选项只允许 CSV、选项卡和 DLM。如何以 .sas7bdat 文件格式将此数据集导出到本地计算机?

【问题讨论】:

标签: sas


【解决方案1】:

借助 SAS University Edition,您可以在 SAS 运行所在的虚拟机中设置共享文件夹,这些文件夹映射到您的真机上的实际文件夹。

例如,您可能已将 C:\Documents\SAS\ 映射到 /folders/myfolders。您不能写入真实机器上未映射的其他位置,以便虚拟机可以看到它们。查看文档以获取映射文件夹的确切详细信息。

让 SAS 放置数据集的常规方法是创建一个指向文件夹的 libref,然后在引用数据集时使用两级名称。您可以创建一个名为 OUT 的 libref,例如:

 libname out '/folders/myfolders/';
 data out.target_wins; 
   set sqrtReg2;
 run;

但您也可以直接引用文件而无需先创建 libref。

 data '/folders/myfolders/target_wins'; 
   set sqrtReg2;
 run;

请注意,由于 SAS 实际上是在 Unix 中运行,因此您不能将 CamelCaseFileNames 用于您的 SAS 数据集。文件将始终全部为小写字母。

【讨论】:

  • 请注意,myfolders 共享文件夹需要位于 ..\SASUniversityEdition\myfolders 下才能正确设置共享文件夹。此外,如果需要,您可以设置其他位置。
  • 为此工作 'folders/myfolders/; 应该是数据集存在于 SAS Studio 文件系统中的位置。然后就可以右键下载了
  • @user18101 一旦它保存在 myfolders 位置,它就在您的本地硬盘驱动器上,无论您在安装时设置 myfolders 的任何位置。您可以在那里导航并根据需要移动它。如果您右键单击并查看属性,它将显示路径。
【解决方案2】:

它不起作用有两个原因。

  1. 您无法将 SAS 数据集导出到 SAS 数据集 (.sas7bdat) - Proc Export 将导出到 excel、csv 等,但不会导出到 .sas7bdat。
  2. 您在使用 Linux 作为操作系统的虚拟机中运行 SAS Studio,因此创建外部文件的路径不正确。您没有遇到此错误,但一旦您使用正确的文件类型,您就会遇到。

安装 SAS Studio 时,您应该创建了一个 shared 文件夹。此文件夹在 SAS Studio 中作为/folders/myfolders/filename 访问。

所以你的代码应该是这样的:

PROC EXPORT data = sqrtReg2 
            outfile = "/folders/myfolders/Target_Wins.csv";
run;

在 Windows 中,此共享文件夹的路径取决于您安装 VM 的位置。

选项 2

如果您需要的是数据集,请尝试以下代码:

libname out "/folders/myfolders/";

proc copy in=work out=out;
 select sqrtReg2 ;
run;

同样,表格将位于可从 Windows 访问的共享文件夹中。

【讨论】:

  • 那我怎样才能下载 .sas 文件呢?我相信你,但为什么一个文件而不是另一个文件?
  • 这是一个术语差异。您将 SAS 数据集写入您不导出的库位置。导出假定更改文件类型。
  • @user18101 - .sas 文件是脚本文件,.sas7bdat 是您的表格。假设您在本地工作并且没有从云服务(即 AWS)运行 SAS Studio,请参阅我的更新重新下载您的数据集。
【解决方案3】:

我使用了上面答案中的选项 2。我需要在我的虚拟机中从 SAS Studio 中导出我的多边形数据,以便我可以将其导入到我的 Visual Analytics 中。而且效果很好。

libname out "/folders/myfolders/";

proc copy in=work out=out;
 select my_map;
run;

【讨论】:

    【解决方案4】:

    没有一个答案对我有用。也许是因为 2021 年 4 月之后,他们对平台(大学)进行了更改。所以,经过大量的搜索,我找到了我需要的东西。

    您可以轻松地将 sas 数据集导出为 csv、xslx,只需右键单击数据集并选择导出为 csv、xlsx 等。 要导出到 sas7bdat 文件,请执行以下操作:

    1. 创建您的数据集,我是从 csv 创建的,因此创建一个 program1(.sas) 以首先将 csv 转换为 sas 数据集。
    proc import file="/home/u123/mydata.csv"
        out=work.mydata
        dbms=csv
        replace;
    run;
    

    这将创建您的 sas 数据集。

    1. IMP 转到右下角的“库”,然后点击“我的库” -> 新建库 -> 命名它(例如 - 测试),给出路径(例如 - /home/u123 /sasuser.v94) 检查库创建,并在右侧窗格中点击“刷新库会话”,不要刷新页面。

    2. 现在创建一个单独的 program2(.sas),将数据集导出到 .sas7dbat 文件。

    PROC COPY IN=WORK OUT=test;
    SELECT mydata;
    run;
    quit
    

    这将在您的目录中创建一个 .sas7bdat 文件,与您的数据集同名。

    这些确切的步骤适合我。

    【讨论】:

    • 我不明白这个关于 XLSX 文件和 CSV 文件的答案与关于 sas7bdat 文件的原始问题有什么关系。但现在这一切都没有实际意义,因为 SAS 大学版已不复存在。
    • @Tom 因为操作要求从现有数据集中导出为 sas7bdat 文件,并且在大学中,如果没有上述过程,我无法这样做。因此,我用 xlsx/csv 给出了这个过程。
    猜你喜欢
    • 2018-08-29
    • 2017-05-21
    • 2017-12-30
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    相关资源
    最近更新 更多