【问题标题】:Save sas data set file to a local folder on server将 sas 数据集文件保存到服务器上的本地文件夹
【发布时间】:2016-06-08 13:33:07
【问题描述】:

是否可以将 SAS 数据集 (sas7bdat) 保存到服务器上的本地文件夹中?例如 c:\Work 文件夹。我只知道 proc 导出到 csv。谢谢。

【问题讨论】:

  • 您使用的是本地(Windows)版本的 SAS 还是服务器端、EG 等?
  • “本地”是指 SAS 服务器本地还是您本地?对于 SAS 直接写入目录,它需要在运行时访问该目录。如果您使用的是 Enterprise Guide,则可能有一些技巧可以将文件从服务器下载到本地 PC,您可以使用它来下载作为 SAS 数据集的文件。
  • @Tom 嗨,汤姆。我正在使用连接到服务器的 EG。目标文件夹也在服务器中。我只需要将我的数据集(使用 sas7bdat 格式)导出到服务器上的文件夹。是否可以?我现在是通过 proc export csv 来实现的,但我不需要那种格式。
  • Reeza 的答案就是你想要的。

标签: sas


【解决方案1】:

是的,这就是 SAS 中的库。它们本质上是存储 SAS 数据集的文件夹。首先创建对该位置的库引用,然后将数据集保存到该位置。

Libname out '/folders/myfolders/output/';

data out.data_save;
    Set data_to_save;
 Run;

【讨论】:

  • 为了使您的解决方案能够正常工作,SAS 服务器需要访问本地驱动器 - 出于安全原因,通常情况并非如此。如果文件夹在您的本地计算机中,则两者都不起作用
  • @Reez 嗨,它正在工作。但是可以重命名输出数据集吗?例如 out.dataset15/06/2016?
  • 是的,只需在 DATA 语句中更改名称即可。但是您不能在名称中包含 /,请阅读命名规则。
  • @Reeeze 这个项目将由存储过程运行我无法重命名。但是每次执行后我都需要在同一个文件夹中保存新的数据集。
  • 您在问如何为存储过程的每次运行生成一个唯一名称? IMO 这是一个与您上面所说的不同的问题,您应该提出一个新问题。
【解决方案2】:

取决于您连接到服务器的方式以及您是否在本地计算机上安装了 SAS。

例如,如果您使用 EG,则可以将数据导出为 csv。如果您需要的是作为 SAS 数据集的数据,那么 rsubmit 和 proc 下载的组合应该就可以了。

这里是当您在本地安装 SAS 时的示例:

libname w  "/windows_directory"; 

signon server.port user='your_user' password="your_pwd" ;
rsubmit ;
libname r  "/remote_folder"; 
* Executed in UNIX;

proc download data= r.inServer out= w.inServer; run;
endrsubmit; 

【讨论】:

  • 但是正在连接服务器,我需要下载文件的文件夹在服务器中。
【解决方案3】:

看看这个,https://stackoverflow.com/a/67914980/8311083

您可以将 sas7bdat 作为文件导出到服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多