全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13976 26
2017-03-04
Base SAS 基础 (一)

“Base SAS 基础” 系列文章将从SAS系统开始,介绍Base SAS的组成部分,并以Windows环境为例介绍SAS窗口环境、SAS逻辑库、数据集、目录(Catalog)等SAS中常用的概念。在了解了这些基础知识之后,会引导读者使用以上的知识编写一段简单代码,提交执行,并查看日志及运行结果。最后将用简短的篇幅简单介绍SAS最新推出但将会承担重要角色的SASStudio的基本功能。
需要注意的是,本系列文章中描述的内容会包括Windows和UNIX(和Linux)操作系统,如果在Windows和UNIX环境下的操作或命令有不同,将会专门说明。文章未专门考虑Mainframe,因为其操作使用模式相差很多,而且读者会较少接触和使用Mainframe环境,但对SAS软件和产品的描述、编程概念和程序语言以及给出的代码在Mainframe环境下同样适用。SAS的版本是基于最新版SAS9.4来展开的,除非特别说明,文中的内容也同样适用于较早版本SAS9.3和SAS9.2。
本系列文章对Base SAS窗口环境进行了着重介绍,目的在于让读者学会如何使用SAS窗口环境开发、运行SAS代码,并查看结果和检查代码运行日志。但是不会介绍每个菜单、子菜单、工具栏以及其它在BaseSAS软件中出现的元素和功能,因为读者在实际学习和工作中可以很方便地通过SAS软件提供的帮助文件进行了解。

SAS 系统简介
SAS提供了一套集成的可扩展的解决方案和使用灵活功能强大的SAS编程语言,用于执行如下任务:数据输入和获取、数据转换处理和管理、报表绘制和图形、统计和数学分析、商业规划、预测、运筹优化,以及应用开发等。
SAS可以在多种操作系统下运行,包括Windows、Unix、Linux以及Mainframe等操作系统,同时,SAS程序代码具有很好的移植性,在一种环境下开发的SAS代码可以在其他操作系统运行。
BASE SAS 组成
SAS系统的核心Base SAS由以下部分组成:
DATA步:用于处理和管理数据。
SAS过程(Procedure):用于分析、处理和制作报表。
可扩展和定制SAS软件程序的宏语言(Macro Facility):可以减少程序文本,使SAS程序编写得更有效与易于维护,便于编写更为复杂的程序逻辑。
DATA步调式器:当提交的DATA步运行出错或产生的输出结果与预期不一致时,可以借助它来跟踪DATA步执行情况,从而帮助发现程序逻辑中的错误。
输出交付系统(Output Delivery System, ODS):该系统会产生各种易于访问的格式输出,例如,HTML文件、传统的列表输出、PostScript文件、RTF文件和输出数据集等。
SAS窗口环境:它是一个开发和测试SAS程序的交互式图形用户界面,本节后面也会更进一步介绍。
这其中,前面三个是SAS语言的主要元素,后面文章会专门介绍。

常用SAS产品
Base SAS软件提供数据处理过程和基础的统计过程FREQ、MEAN、CORR及UNIVARIATE等。可以与其他的SAS产品一起使用,从而实现更强大的数据读取、分析、优化、展示等功能。下面列出了部分常用的SAS产品,用于实现数据读取、统计分析、优化和信息展示等功能。
SAS/ACCESS接口
提供与各种第三方数据源进行交互的功能。例如各种关系型数据库,诸如Oracle、DB2、Teradata等;ERP系统诸如SAP R/3、PeopleSoft等;同样对于Hadoop等也有专门的ACCESS接口。对于不同的数据源,ACCESS接口需要单独的软件使用许可。SAS与第三方的数据源进行交互时,将直接调用该数据库或应用厂商提供的客户端对数据进行访问,从而保证了与数据访问的效率。此外,SAS/ACCESS还提供接口访问Microsoft Access数据库文件和Excel工作簿文件中的数据。
SAS/GRAPH
SAS/GRAPH是SAS系统的数据可视化和展现(图形)组件,用于数据和信息展现,并且它可通过二维和三维图形(包括图表、散点图和地图),可视化地展现数据值之间的关系。还可用于创建文本幻灯片、生成各种图形输出,并且可提供实用程序和管理输出。
SAS/STAT
SAS/STAT软件提供了全面的统计分析方法。共有超过75个统计分析过程,包括T检验、方差分析(ANOVA过程)、聚类分析(CLUSTER过程、VARCLUSTER和FASTCLUS过程)、因子分析(FACTOR过程)、回归分析(REG过程),逻辑斯蒂(LOGISTIC过程)等。SAS/STAT软件还包括效能和样品容量分析(PSS)应用程序。该软件不断被更新,以反映新的研究成果和方法。
SAS/ETS
提供用于经济计量分析、时间序列分析和预测(ESM过程、ARIMA过程和UCM过程等)、系统建模与仿真(MODEL过程)、离散选择分析、定性有限因变量模型分析、时间序列数据的季节性调整、财务分析和报告、访问经济和金融数据库及时间序列数据的管理。除了以上过程外,SAS/ETS软件还包括对经济和金融数据库以及互动环境的无缝访问,从而进行时间序列预测及投资分析。
SAS/OR
SAS/OR专注于运筹与优化。SAS/OR提供的OPTMODEL建模语言用于构建、解决和维护最优化模型的建模环境,通过OPTMODEL过程的各种解算器或单个过程例如OPTLP、OPTMILP、OPTMILP过程解决线性规划、混合整数规划、非线性规划的等问题。
以Base SAS软件和以上产品与技术作为基础,构建在SAS智能平台(SAS Intelligence Platform)上的SAS许多商业解决方案可以帮助各类商业客户和其他组织机构解决诸多业务领域的特定问题,例如客户智能、风险管理、供应链、零售等。关于SAS商业解决方案的内容,后面文章会有相应的介绍。
附件列表
efa2e2a.jpg

原图尺寸 14.13 KB

efa2e2a.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-3-4 17:27:46
该系列文章会包含SAS基础,统计分析,时间序列,优化,系统管理等等。我最近看到的,非常不错。转给大家看看。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-4 17:36:48
Base SAS 基础(二)


启动SAS软件
SAS有多种运行模式:SAS窗口环境模式、非交互式模式、批处理模式及交互式行模式,下面会一一介绍。除了上面提到的四种模式外,SAS还可运行在对象服务器模式里, SAS元数据服务器、工作区服务器、存储过程服务器和OLAP服务器都是属于这种模式。关于这些服务器,在本书第4篇会进行讨论。
SAS窗口环境模式
SAS窗口环境是SAS提供的一种交互式图形界面,是在Windows环境下使用SAS编辑或提交SAS程序语句最方便也是最常用的模式。在SAS窗口环境中,用户可以通过程序编辑器编辑并提交SAS语句,程序语句的执行状态、执行时间等日志信息及put语句的输出会显示在日志窗口,同时还会提供在线帮助等。本章下一节会使用Windows环境下的窗口环境作为示例详细介绍SAS窗口环境的各个窗口功能及其使用。
在Windows环境下启动SAS窗口环境和启动其他Windows应用程序一样有多种方式,可通过开始菜单里的快捷方式、命令行等方式进行。在安装SAS软件时,SAS软件安装程序会提示选择要安装的SAS语言版本。如果当前操作环境下安装了多种语言的SAS,英文的SAS可以通过开始 程序 SAS SAS 9.4 (English) 启动。启动所有语言(包括英文)的SAS软件时,其快捷方式位于开始 程序 SAS Additional Languages中。例如,启动Windows操作环境下简体中文SAS软件的快捷方式为:开始 程序 SAS Additional Languages SAS 9.4 (Chinese (Simplified)),如图1.1所示。
11.jpg

图1.1 启动中文SAS窗口环境
此外,还可以使用命令行方式启动SAS窗口环境。在下面给出的Windows和UNIX操作环境下的命令后都可以指定其它系统选项来定制要启动的SAS会话。例如,选项-NODATE表示在该SAS会话中产生的输出页面里不显示日期、选项-CONFIG指定SAS配置文件,以在启动时加载配置文件中的更多的系统选项等。
        Windows环境
C:\>”C:\Program Files\SASHome\SASFoundation\9.4\sas.exe”
        UNIX环境
#/opt/SASHome/SASFoundation/9.4/sas -dms
Unix环境下的命令行可不加选项-DMS,则会进入SAS的显示管理系统。当使用Windows机器通过Telnet远程登录SAS软件所在的Unix主机时,如果需要使用SAS窗口环境,可以在该Windows机器上启动X-Windows软件,例如Exceed、XMing、Cygwin等,并设置当前Telnet会话的DISPLAY环境变量到该Windows机器上。这样,所启动的SAS窗口环境会重定向到该Windows操作系统。当启动SAS的显示管理系统时,在该Window环境下会弹出类似的SAS窗口环境。在初次使用X-Windows窗口时会有些不习惯,有些操作与Windows环境下的SAS窗口稍有差异,但大部分都很类似。
在UNIX环境下,更多使用的是非交互模式或批处理模式,或者其他的工具。例如,可使用Window环境下的客户端程序SAS Enterprise Guide将SAS代码提交到UNIX服务器上。
非交互模式
很多情况下,SAS程序保存在外部操作系统文件中,这时可以在不启动SAS窗口环境的情况下非交互式地提交该文件。使用非交互模式执行保存在外部文件中的SAS程序语句时,SAS会打开该文件,执行该文件中的程序,并将日志和输出根据操作环境写入到指定文件中。当该文件中的SAS程序执行完成时,SAS自动退出。下面是非交互模式下使用SAS执行外部文件中的SAS程序语句示例。
在Windows环境下的示例如下:
C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin C:\sas\code\test.sas –log C:\sas\logs\test.log -print C:\sas\lst/test.lst
在UNIX环境下的示例如下:
#/opt/SASHome/SASFoundation/9.4/sas –sysin /opt/sas/code/test.sas –log /opt/sas/logs/test.log -print /opt/sas/lst/test.lst
选项“-sysin”指定SAS程序语句所在的文件。当要执行的SAS程序语句文件紧接着sas命令时,该选项可省略。“-log”指定输出日志文件,“-print”指定执行输出文件。
批处理模式
在支持批处理或后台执行的操作环境下,SAS还可运行在批处理模式中。用户可以将上面的一个或多个非交互模式中的命令写入批处理脚本,并保存在批处理.bat(Windows环境下)或.sh(UNIX环境)文件中,然后提交该批处理文件执行。当以批处理模式提交SAS作业时,会生成两个文件,它们分别包含该作业执行的SAS日志和输出。
下面给出UNIX下的.sh文件内容,该批处理文件提交了两个SAS程序执行test.sas和test2.sas。Windows环境下类似,但必须使用相应的脚本语法。
#!/bin/sh
cd /opt/sas
/opt/SASHome/SASFoundation/9.4/sas   /opt/sas/code/test.sas  -log  /opt/sas/logs/test.log  -print /opt/sas/lst/test.lst  &
wait
Sleep 15
/opt/SASHome/SASFoundation/9.4/sas   /opt/sas/code/test2.sas  -log  /opt/sas/logs/test2.log  -print /opt/sas/lst/test2.lst  &
wait
当使用调度软件或操作系统调度命令对SAS作业进行预定执行时,通常是使用的该模式。这样可以让执行时间较长的SAS作业在晚间或其他预定时间执行,或根据业务需要定期自动执行。下面给出了在Windows和UNIX环境下使用操作系统计划或预定功能批处理执行的示例。在SAS商业智能解决方案中这种模式也经常使用,SAS智能平台也提供了与第三方调度软件和操作系统调度服务的集成。
        Windows环境
使用Windows提供的任务计划程序,依次选择开始 所有程序 附件 系统工具 任务计划程序,并指定任务要执行的操作脚本为上面提到的批处理文件。图1.2为在Windows任务计划程序中预定为在每天00:30:00执行的SAS作业,所设定操作的启动程序为包含SAS命令的.bat文件。
12.jpg

图 1.2 Windows环境下的任务计划程序
        UNIX环境
使用crontab命令预定上面提到的批处理文件。下面的crontab文件内容给出了预定在每天凌晨00:30:00执行批处理文件sasjob.sh中的作业。
30 00 * * * /bin/ksh /opt/sas/scheduler/sasjob.sh > /opt/sas/scheduler/sasjob.log 2>&1
交互式行模式
该模式在UNIX操作系统中可用,是一种较少使用的模式。但作为SAS支持的启动模式,在这里也简单地介绍一下。在交互行模式下,顺序地输入程序语句,所输入的DATA步或PROC步当遇到RUN、QUIT、分号、另一个DATA步或PROC步,或者ENDSAS语句时会提交执行。同时随着DATA步或PROC步的提交,这些程序语句的日志和输出(如果有输出的)也会立即显示。可使用NODMS或NODMSEXP系统选项启动交互式行命令模式的SAS会话。使用NODMS选项的命令示例如下:
#/opt/SASHome/SASFoundation/9.4/sas –nodms
后面还可以接其他系统选项或使用-CONFIG选项指定SAS配置文件。按EOF键(CTRL+D)或提交ENDSAS语句结束交互式行命令模式的SAS会话。示例如下:
5? endsas;
配置文件和AUTOEXEC文件
使用上述任何一种模式启动SAS时,都可以通过定义配置文件和AUTOEXEC文件来定制SAS会话。在这两个文件中可以指定系统选项和任何时候启动SAS会话时自动执行的SAS语句。SAS系统选项控制SAS会话的许多方面,包括输出目的地、程序执行效率及SAS文件和逻辑库的属性等。
SAS配置文件的名称为sasv9.cfg,AUTOEXEC文件的名称为auoexec.sas,这些文件通常都位于SAS的安装根目录下。在多语言安装环境中,SAS根目录下nls目录中还包括各种语言适用的SAS配置文件所在目录,例如en是英文、zh是简体中文、zt是繁体中文。启动SAS时如果不指定配置文件,在Windows操作环境下,SAS会去查找SAS安装根目录下的sasv9.cfg文件。通过Windows开始菜单启动各种语言的SAS软件时,SAS会自动调用对应语言的配置文件。而在UNIX操作环境中,SAS启动时所使用的配置文件在启动SAS的文件中指定。
有时,也会需要定制SAS启动时的配置文件。一个比较实际的例子就是,在很多商业项目中,不希望SAS使用其默认的临时逻辑库(逻辑库的知识会在后面介绍)WORK,而是希望将临时逻辑库WORK建立在一个高速存储系统中,以提高SAS对某些常用操作的效率,这时就可以在配置文件中指定临时WORK的物理位置。
在Windows环境下使用定制的配置文件sasv9_custom.cfg的示例如下,在该示例中,假定该文件位于目录C:\Program Files\SASHome\SASFoundation\9.4下(在UNIX环境下类似)。
C:\> “C:\Program Files\SASHome\SASFoundation\9.4\sas.exe” -config  “C:\Program Files\SASHome\SASFoundation\9.4\sasv9_custom.cfg”
系统选项AUTOEXEC用于指定AUTOEXEC文件。AUTOEXEC文件包含启动SAS或其他SAS进程时自动执行的SAS语句,例如该文件可包含一些定义在SAS会话中的经常使用的SAS逻辑库的LIBNAME语句。
SAS启动时,如果没有指定AUTOEXEC或NOAUTOEXEC选项,SAS会在当前目录、用户目录和SAS安装根目录下查找AUTOEXEC文件。可以在启动SAS的命令行里指定AUTOEXEC选项,还可以通过SASV9_OPTIONS环境变量将该选项放入配置文件里。
在Windows环境下通过命令行指定autoexec文件autoexec_custom.sas的示例如下,在该示例中,假定该文件位于目录C:\Program Files\SASHome\SASFoundation\9.4下(在UNIX环境下类似)。
C:\>“C:\Program Files\SASHome\SASFoundation\9.4\sas.exe” -AUTOEXEC  “C:\Program Files\SASHome\SASFoundation\9.4\autoexec_custom.sas”

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-4 17:43:33
微信号的图片大家知道怎么贴过来么?

贴不过来图片,文章就没法子看啦。。。。。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-4 17:47:47
图片全丢了。。。。 [mad] [mad]

有人知道怎么弄么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-4 20:05:10
成功 保存图片。
把微信公众号的图片另存到本机,上传上来,再去添加即可。

耶!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群