SAS企业指南库

时间:2013-11-09 14:08:04

标签: sas

我是SAS和企业指南的新手,我在解决一些基本概念时遇到了问题。有人可以解释库,项目,libname和libref之间的关系吗?我正在学习SAS电子教学课程,但是当我尝试将库与存储在我的机器上的数据文件链接时,我不断收到该库不存在的消息,即使它正好在服务器列表中。

提前致谢

2 个答案:

答案 0 :(得分:1)

我正在上大学级SAS课程。根据我的经验,libref是一个名称,您可以将一组文件的物理位置与SAS相关联。 libname语句为SAS程序创建库引用(libref)。 通常,libname的基本语法是:

libname libref 'path';

例如:

libname sales 'C:\salesdata\journal\june';

换句话说,要使SAS能够从数据集读取和写入数据,它必须知道包含特定数据集的目录。 SAS将我们人类称为目录或文件夹的内容称为“库”。 SAS还为这些库分配昵称(libref),并使用libname语句将昵称分配给特定文件夹。

例如,如果要打印位于“june”文件夹内的现有SAS数据集,可以执行以下操作:

libname sales 'C:\salesdata\journal\june';

proc print data = sales.revenue;
run;

SAS将打印位于“june”文件夹内的“收入”数据集的数据部分,因为我们已将销售额分配给该文件夹。希望这会有所帮助。

答案 1 :(得分:1)

特别是如果您正在使用SAS OnDemand进行培训(我假设您是这样),则您不太可能直接将libname分配给本地数据文件。您必须提供有关位置/等的更多信息。您尝试访问的数据文件是为了获得更好的答案,但一般情况下,如果您在服务器上运行SAS(Enterprise Guide是您用于连接的GUI,则SAS本身就是实际执行频率的过程) / etc。可能位于服务器的某个地方,云端或公司的服务器场中。

关键概念是必须可以在运行SAS服务器实例的计算机上访问libname。虽然您可能已经设置了网络,使服务器已将本地计算机的硬盘映射到驱动器,但在大多数情况下情况并非如此。如果您在网络上并且可以访问SAS服务器也可以访问的网络驱动器,则可以通过该方式共享信息;但如果您在云中运行SAS(例如使用SAS OnDemand进行培训/教育),您可能无法访问任何共享驱动器。

Chris Hemedinger(曾经在EG工作的SAS人员之一)编写了一个自定义任务,可在this link处获得,以帮助将文件从本地桌面复制到远程服务器。这可能对SAS OnDemand没有帮助,因为我认为那些不允许复制文件。