- 金融商业数据分析:基于Python和SAS
- 张秋剑 张浩 周大川 常国珍
- 1453字
- 2025-02-26 02:50:38
2.2 访问数据
如何利用SAS访问多个SAS数据集?如何利用SAS访问业务数据库中的数百张数据表并写出数据分析报告?
这些情况下,我们就要用到SAS逻辑库了。
SAS数据库分为永久数据库和临时数据库。永久数据库,顾名思义,会永久保存存放在其中的数据,直到你删除它,例如SAS自带的SASHELP、SASUSER数据库。而临时库的文件会在每次关闭SAS软件后自动删除,例如WORK库。注意,永久数据库和临时数据库的差别在于退出SAS时是否保留其中的文件,而不是数据库是否还存在。
在Windows系统中,SAS是以路径为基础的方式组织数据库的。为了方便使用数据库,我们需要为每个路径下的数据库或者存放SAS文件的文件夹指定一个逻辑名,例如WORK,选中WORK库点击右键查看属性,则可以看到其所存放文件的路径。
SAS逻辑库的命名规则:
1)首字符必须为英文字母(A~Z,包括大写和小写)或下划线(_);
2)由数字、字母和下划线组成;
3)最多不超过8个字符;
4)不区分大小写[1]。
在进入SAS软件时,系统会自动指定一些逻辑库供用户使用。
- SASHELP:是SAS系统在运行时会用到的系统文件,对环境的设置数据都会存放在此。用户不要修改该数据文件夹中的数据。
- SASUSER:SAS系统会设置SASUSER数据文件夹路径。若用户没有设置其他路径,SASUSER指定的路径或文件每次都相同。该路径下的数据文件是永久存在的。如果有SAS数据文件要存储,用户无须在自己的程序代码中设置任何数据文件夹名称,便可以使用SASUSER数据文件夹来存储SAS数据文件。其物理位置为C:\Users\...\Documents\My SAS Files\9.3。
- WORK:SAS系统会设置WORK数据文件夹路径。用户操作产生的临时SAS数据文件会放在该路径下。当离开SAS系统时,SAS系统便会将该路径清除,不会将数据存储下来。
下面详细介绍如何通过SAS逻辑库访问数据。
2.2.1 SAS EG实现方式
1. 连接计算机中的SAS数据文件夹
1)在“工具”菜单下选择“分配项目逻辑库”选项,然后在名称栏输入数据库的逻辑名BANKDATA(需要符合逻辑库的命名规则),并选择“local-本机SAS服务器”,如图2-6所示。

图2-6 “分配项目逻辑库”选项
2)选择引擎类型为“文件系统”,并在路径选项下单击“浏览”按钮,找到存放SAS文件的文件夹,或者直接输入地址,比如“E:\bankdata”,单击“下一步”按钮链接到SAS文件夹,如图2-7所示。

图2-7 指定逻辑库的引擎
3)在左下角的服务器列表中选择“服务器→本地”,单击“刷新”按钮即可查看刚刚定义的逻辑库。
2. SAS连接远程数据库
1)首先建立ODBC数据源。以Windows 7系统为例,在“控制面板→系统和安全→管理工具”路径下选择“数据源(ODBC)”进行配置,打开“用户DSN”选项卡,选择“添加”,选择数据源的数据库类型后,依次单击“下一步”按钮,按要求填写相关信息即可。
2)同连接数据文件夹中的步骤1。
3)引擎类型选择“数据库系统”,并在引擎下选择对应的数据库接口,然后按照要求输入服务器的地址、用户名及密码,如图2-8所示。

图2-8 引擎类型选择“数据库系统”
4)在左下角的服务器列表中选择“服务器→本地”,单击“刷新”按钮即可查看刚刚定义的逻辑库。
2.2.2 SAS程序实现方式
1. 连接计算机中的SAS数据文件夹
打开SAS EG软件,在菜单栏下选择“新建程序”,在打开的界面中输入下面的程序代码,然后单击“运行”按钮。代码如下所示:
libname bankdata "E:\bankdata";
libname为关键词,表示要建立一个逻辑数据库;bankdata为逻辑库名,最长为8位字符;E:\bankdata表示数据存放在此路径下,必须用单引号或双引号括起来。
2. SAS远程连接数据库
在菜单栏下选择“新建程序”,在打开的界面中输入下面的代码,然后单击“运行”按钮。
libname bankdata db2 user=admin password = "****" datasrc=bank;
libname与bankdata的含义同上;db2表示实现DB2数据库的访问;user和password分别为访问的数据库的用户名和密码,密码需要用引号引起来;datasrc为模式,表示数据库DB2下的某个数据源,一般采用默认状态。