内容简介
《深入解析SAS:数据处理、分析优化与商业应用》是国内市场目前一本由SAS公司在中国的员工创作、全面系统地剖析SAS技术的著作。作者团队结合自身实际工作的经验体会和大量生动的实践案例,通俗易懂、循序渐进地对SAS的核心技术模块和架构体系进行了的介绍、总结与分享,帮助读者深刻领会和掌握使用SAS进行数据挖掘与优化的专业知识,同时培养读者运用这些专业知识解决商业问题和实施商业项目的能力。
《深入解析SAS:数据处理、分析优化与商业应用》共28章,分为四个部分:SAS编程(第1~8章)系统介绍了运用SAS进行数据读入、处理和展现等内容,掌握这一部分内容可以满足大部分实际项目中数据处理的需要;SAS统计分析和时间序列预测(第9~18章)全面介绍了多种常见统计方法的基本原理和利用SAS去实现的具体技术,包括描述性统计分析、参数估计与假设检验、方差分析、主成分分析与因子分析、聚类分析、判别分析、回归分析、时间序列分析等,并给出了相应的实践案例,从而让熟悉统计理论的读者有能力将其应用到实际中去;SAS优化建模(第19~24章)对于从事优化的读者来说,将是很好的帮助。这一部分主要介绍了运用SAS/OR建模,以及求解线性规划、混合整数规划问题的方法及实例,通过对常见的优化问题进行全面的阐述,帮助读者掌握优化思路和技巧;SAS商业应用(第25~28章)从项目实施角度探讨了如何设计满足安全性、高可用性和高性能需求的SAS应用,让读者领会解决实际问题的方法。
目录
第一篇 SAS编程和数据处理
第1章 base SAS基础 2
1.1 SAS系统简介 2
1.2 启动SAS软件 4
1.2.1 SAS窗口环境模式 4
1.2.2 非交互模式 5
1.2.3 批处理模式 6
1.2.4 交互式行模式 7
1.2.5 配置文件和AUTOEXEC文件 7
1.3 SAS窗口环境 8
1.3.1 SAS资源管理器 10
1.3.2 程序编辑器 10
1.3.3 日志 10
1.3.4 结果 11
1.3.5 输出 11
1.4 SAS文件和逻辑库 11
1.5 一个简单的SAS程序 13
1.6 SAS Studio 17
1.7 本章小结 18
第2章 读取外部数据到SAS数据集 19
2.1 SAS编程基本概念 20
2.1.1 SAS逻辑库 20
2.1.2 SAS数据集 23
2.1.3 SAS逻辑库和数据集管理 31
2.1.4 SAS系统选项 33
2.1.5 SAS程序结构 37
2.2 通过DATA步读取数据 38
2.2.1 DATA步处理 38
2.2.2 读取外部文本文件中的数据(初级) 42
2.2.3 读取外部文本文件中的数据() 52
2.3 通过import过程读取外部文件数据 62
2.4 访问关系型数据库系统中的数据 65
2.5 SAS程序错误及处理 68
2.5.1 良好的SAS编程风格 68
2.5.2 常见错误及处理 69
2.6 本章小结 73
第3章 对单个数据集的处理 74
3.1 选取部分变量 74
3.2 操作数据集的观测 78
3.2.1 SAS表达式 78
3.2.2 选取部分观测 84
3.2.3 操作所选取的观测 88
3.2.4 分组与排序 92
3.3 创建新变量 96
3.3.1 数据集选项RENAME=和RENAME语句 96
3.3.2 赋值语句创建新变量 97
3.3.3 对多个观测求和 99
3.4 循环和数组 103
3.4.1 循环 103
3.4.2 SAS数组 106
3.5 SAS常用函数 109
3.5.1 函数语法 109
3.5.2 数值函数 110
3.5.3 字符操作函数 110
3.5.4 数值与字符转换函数 113
3.5.5 与日期时间相关的函数 115
3.6 将数据集写出到外部文件 116
3.7 本章小结 119
第4章 对多个数据集的处理 120
4.1 数据集的纵向串接 120
4.1.1 使用SET语句实现纵向串接 120
4.1.2 使用APPEND过程实现纵向串接 127
4.1.3 SET语句与APPEND过程的比较 129
4.2 数据集的横向合并 130
4.2.1 不使用BY语句实现横向合并 130
4.2.2 使用BY语句实现横向合并 133
4.2.3 使用数据集选项IN=操作观测 140
4.3 数据集的更新 141
4.4 数据集的更改 143
4.4.1 单个数据集的更改 143
4.4.2 两个数据集的更改 145
4.5 数据集处理的一点补充 146
4.5.1 使用数据集选项END= 146
4.5.2 使用自动变量FIRST.与LAST. 148
4.5.3 使用SET语句中的选项POINT= 和NOBS= 149
4.5.4 使用多个SET语句 150
4.5.5 使用HASH对象处理多个数据集 151
4.6 本章小结 156
第5章 数据汇总与展现 157
5.1 通过PRINT过程制作报表 157
5.1.1 制作简单报表 157
5.1.2 制作增强型报表 161
5.1.3 改进报表显示 163
5.2 通过TABULATE过程制作汇总报表 168
摘要与插图
第一篇 Part 1SAS编程和数据处理
第1章 base SAS基础
第2章 读取外部数据到SAS数据集
第3章 对单个数据集的处理
第4章 对多个数据集的处理
第5章 数据汇总与展现
第6章 SAS SQL语言
第7章 SAS宏语言
第8章 开发多语言支持的SAS程序
第1章
base SAS基础
本章将从SAS系统开始,介绍base SAS的组成部分,并以Windows环境为例介绍SAS窗口环境、SAS逻辑库、数据集、目录(Catalog)等SAS中常用的概念。在了解了这些基础知识之后,会引导读者使用以上的知识编写一段简单代码,提交执行,并查看日志及运行结果。将用简短的篇幅简单介绍SAS推出但将会承担重要角色的SAS Studio的基本功能。
需要注意的是,本书中描述的内容会包括Windows和UNIX(和Linux)操作系统,如果在Windows和UNIX环境下的操作或命令有所不同,将会专门说明。本书内容未专门考虑Mainframe,因为其操作使用模式相差很多,而且读者会较少接触和使用Mainframe环境,但书中对SAS软件和产品的描述、编程概念和程序语言以及给出的代码在Mainframe环境下同样适用。关于SAS的版本,本书是基于写作时发布的版SAS 9.4来展开的,除非说明,书中内容也同样适用于较早的版本SAS 9.3和SAS 9.2。
本章对base SAS窗口环境进行了着重介绍,目的在于让读者学会如何使用SAS窗口环境开发、运行SAS代码,并查看结果和检查代码运行日志。但是书中不会介绍每个菜单、子菜单、工具栏以及其他在base SAS软件中出现的元素和功能,因为读者在实际学习和工作中可以很方便地通过SAS软件提供的帮助文件进行了解。
1.1 SAS系统简介
SAS提供了一套集成的可扩展的解决方案和使用灵活、功能强大的SAS编程语言,用于执行如下任务:数据输入和获取、数据转换处理和管理、报表绘制和图形、统计和数学分析、商业规划、预测、运筹优化,以及应用开发等。
SAS可以在多种操作系统下运行,包括Windows、UNIX、Linux以及Mainframe等。同时,SAS程序代码具有很好的移植性,在一种环境下开发的SAS代码可以在其他操作系统下运行。
SAS系统的核心base SAS由以下部分组成。
DATA步:用于处理和管理数据。
SAS过程(Procedure):用于分析、处理和制作报表。
可扩展和定制SAS软件程序的宏语言(Macro Facility):可以减少程序文本,使SAS程序编写得更有效且易于维护,便于编写更为复杂的程序逻辑。
DATA步调试器:当提交的DATA步运行出错或产生的输出结果与预期不一致时,可以借助它来跟踪DATA步的执行情况,从而帮助发现程序逻辑中的错误。
输出交付系统(Output Delivery System,ODS):该系统会产生各种易于访问的格式输出,例如,HTML文件、传统的列表输出、Postscript文件、RTF文件和输出数据集等。
SAS窗口环境:它是一个开发和测试SAS程序的交互式图形用户界面,本节后面会有更进一步的介绍。
这其中,前面3个是SAS语言的主要元素,本篇后面的章节会专门介绍。
base SAS软件提供数据处理过程和基础的统计过程FREQ、MEAN、CORR及UNIVARIATE等,可以与其他的SAS产品一起使用,从而实现更强大的数据读取、分析、优化、展示等功能。下面列出了部分常用的SAS产品,用于实现数据读取、统计分析、优化和信息展示等功能。
(1)SAS/ACCESS接口
提供与各种第三方数据源进行交互的功能。例如各种关系型数据库,诸如Oracle、DB2、Teradata等;ERP系统诸如SAP R/3、PeopleSoft等;同样对于Hadoop等也有专门的ACCESS接口。对于不同的数据源,ACCESS接口需要单独的软件使用许可。SAS与第三方的数据源进行交互时,将直接调用该数据库或应用厂商提供的