SAS 初学者教程:什么是&编程示例
什么是 SAS?
SAS SAS 是一套命令行驱动的统计软件套件,广泛用于统计数据分析和可视化。SAS 的全称是 Statistical Analysis System(统计分析系统)。它允许您使用定性技术和流程,从而帮助您提高员工生产力和企业利润。SAS 还用于高级分析,例如商业智能、犯罪调查和预测分析。SAS 的常用发音是“sass”。
在 SAS 中,数据是 extracSAS 是一款软件套件,可帮助您识别和分析数据模式,并进行分类整理。它支持高级分析、商业智能、预测分析和数据管理,使您能够在竞争激烈且不断变化的商业环境中高效运营。此外,SAS 具有平台无关性,这意味着您可以在任何操作系统上运行 SAS,无论是 Linux 还是其他操作系统。 Windows.
相比其他 BI工具除了拖放界面外,SAS 还提供强大的编程数据转换和分析支持。这使得用户能够对数据操作和分析进行非常精细的控制,这也是其独特的优势所在。
为什么我们需要 SAS?
让我们通过一个简单的例子来了解 SAS 的必要性:
假设一家电商公司想要根据历史数据了解客户的购买模式。该公司需要考虑成千上万条来自不同客户的记录才能得出总体结论。
公司可能没有分析所需的所有数据。例如,如果一位顾客没有购买一件夹克,是什么因素阻止了他们购买?这些缺失的数据可能会导致分析结果出现误差。我们该如何解决这些问题?如何处理这类数据?
如果手动完成,这项任务需要数百名分析师和数千工时。而使用 SAS 分析工具,只需一名分析师即可在数小时内完成同样的分析。SAS 可以帮助您剔除不必要的数据并优化相关信息。即使存在数据缺失,它也能帮助您预测结果,从而做出更明智的决策。
替代 SAS 工具
下图将 SAS 与最常与之比较的两款开源工具并列展示。
R: 它是开源软件,很容易学习。 R 因为它有据可查,而且具备强大的统计功能。
Python 是另一种流行的开源脚本语言。 Python 支持 NumPy、SciPy 和 Matplotlib 等库。您可以使用这些库执行任何统计运算,也可以构建任何模型。
SAS: 它是商业分析市场中广泛使用的分析工具,具有大量的统计功能和良好的图形用户界面。
在本SAS编程教程中,我们将讨论统计分析系统以及如何使用它来解决我们的问题。
SAS 历史
- SAS 起源于 20 世纪 60 年代末北卡罗来纳州立大学的一个项目,当时 Jim Goodnight 与 Anthony Barr、John Sall 和 Jane Helwig 一起开发了一个统计分析系统。
- 最初,它是为农业研究而开发的。
- 这四位合作者于 1976 年成立了 SAS 研究所,此后 Goodnight 一直领导着这家公司。
- Later,它扩展到一系列工具,包括预测分析、数据管理、BI 等。
- SAS 仍然广泛部署于全球最大的企业中。 数据分析 以及受监管的报告。
接下来在本 SAS 语言教程中,我们将了解 SAS 的功能。
SAS 功能
SAS 的主要特点是:
- 轻松访问原始数据文件和外部数据库中的数据。读取和写入几乎所有数据格式!
- 使用数据录入、编辑、检索、格式化和转换工具管理数据。
- 运用描述性统计、多元统计技术、预测、建模和线性规划分析数据
- 高级分析可帮助您改变和改进业务实践。
- 以完美的图表形成报告
- Opera研究与项目管理
- 数据更新与修改
- 强大的数据处理语言
- 出色的数据清理功能
- 与多个主机系统交互
接下来,在本篇 SAS 入门教程中,我们将学习 SAS 产品套件。
SAS 产品套件
市面上有许多SAS产品。以下列出一些比较受欢迎的产品。
| 姓名 | 描述 |
|---|---|
| 基地特种部队 | 基础 SAS 软件提供硬件灵活性并可集成到各种计算环境中。 |
| SAS/图形 | 此工具可帮助您将结构化数据表示成图形。 |
| SAS/STAT | 此工具可帮助您执行不同类型的回归、统计分析方差、回归和心理测量分析。 |
| SAS/ETS | 它用于预测。帮助您执行时间序列分析。 |
| 模内贴标 | 交互式矩阵语言(Interactive Matrix Language)简称 IML。该工具可帮助您将数学公式转换为创新的程序。 |
| SAS 息税折旧摊销前利润 | 商业智能应用工具 |
| SAS 网格管理器 | 它是一个核心组件,提供数据管理功能和数据分析编程语言。 |
| SAS/OR | 的工具 Opera化研究 |
| SAS/质量控制 | 用于质量控制 |
| SAS/企业矿工 | 数据挖掘 |
| SAS/PH | 临床试验分析 |
| 特别空勤团/空军 | 它提供应用程序设施 |
| 企业指南 | 它是一个基于 GUI 的代码编辑器和项目管理器 |
接下来在本 SAS 教程指南中,我们将了解 SAS 架构。
SAS Archi质地
下图将部署分为三个层级。

SAS架构主要分为三部分:
- 客户端层
- 中间层
- 后层
客户端层
客户端层是应用程序安装在用户所在的机器上的地方。它由用于查看门户及其内容的组件组成。它还包括一个标准 Web 浏览器,用于通过标准 HTTP 或 HTTPS 协议与门户进行交互。它还可以帮助您使 SAS Web 应用程序防火墙友好。
中层
中间层为企业信息提供集中访问点。所有内容访问均由该层中的组件处理。业务逻辑与显示逻辑的分离有助于您充分利用中间层的逻辑。此外,集中访问点也便于实施安全规则、管理门户和处理代码变更。
中间层承担以下功能:
SAS 信息传递门户 Web 应用程序: 它是 JSP 的集合, Java servlet, JavaBean 以及其他类和资源。这些组件可帮助您访问存储在企业目录中的信息,从而为用户创建可自定义的界面。
Servlet 引擎: servlet 引擎也称为 servlet 容器。它负责管理 SAS 信息交付门户 Web 应用程序。servlet 引擎提供运行时环境。它提供并发性、部署、生命周期管理等。
网络服务器: Web 服务器为 servlet 引擎提供服务,该引擎可用于托管网站。用户应通过门户网站访问此服务。
后层
后层是数据和计算服务器运行的区域,可能包含业务对象。它是一个企业目录服务器。企业目录服务器维护整个企业中内容的元数据。
如何下载和安装 SAS
版本说明: 以下概述介绍了 SAS University Edition,这是一款免费的桌面版和 AWS 版,SAS Institute 已于 2021 年停用。其免费替代版本是: SAS OnDemand for Academics它在浏览器中运行 SAS Studio,无需任何操作。 VirtualBox 镜像文件,无需管理 AWS 实例。SAS 还发布了 SAS Viya 学习者 用于基于云的课程作业。注册其中一门课程,然后使用此处显示的 SAS Studio 屏幕,这些屏幕几乎完全相同。
本地安装到您的计算机上
步骤 1)从提供的链接下载 SAS
前往 SAS 免费学术软件页面,然后点击“获取免费软件”。
步骤 2)选择您的 Opera系统
请根据您的系统选择操作系统,如下所示。
步骤 3)下载并安装虚拟化软件
SAS 大学版需要虚拟化软件,例如 VirtualBox 必须先安装该组件才能进行安装。下载界面如下所示:
按照屏幕上的步骤安装 SAS。 VirtualBox 本地安装有时可能会比较棘手,因此建议改用下面的 AWS 方案。
AWS 安装
注意: SAS 大学版 AWS Marketplace 的商品信息已被撤回,因此 URL原始步骤中引用的 s 不再适用。以下顺序保持不变,因为对于您订阅的任何 SAS Marketplace 镜像,AWS 订阅-配置-启动流程均未更改。
您可以在 AWS 上部署 SAS。它符合免费套餐的条件。
步骤1) 在 AWS Marketplace 上打开 SAS 大学版产品页面。点击下方所示产品页面上的“继续订阅”。
步骤2) 在下一个屏幕中,接受条款。
步骤3) 订阅正在审核中,最多需要 10 分钟才能获得批准。您将看到以下屏幕。
步骤4) 刷新页面,您的订阅将被确认。点击“继续配置”。
步骤5) 保留默认设置并单击继续启动。
步骤6) Rev查看配置页面。输入键值对。其余设置应为默认值。点击“启动”。
步骤7) 前往您的 AWS Marketplace 库,然后单击“查看实例”,如图所示。
步骤8) 如下图所示的弹出窗口中:
- 记下实例 ID。这是您的密码
- 点击访问软件
步骤9) 在步骤 8 点击后出现的弹出窗口中:
- 输入用户凭证。ID:sasdemo 密码:步骤 8 中记下的实例 ID
- 点击登录
步骤10) 您将在下方看到欢迎界面。
故障排除
如果无法连接,请打开您所在区域的 EC2 控制台的“安全组”页面,并将入站和出站规则设置为“全部”。
如何使用 SAS?
要有效使用 SAS 软件,您需要遵循四个步骤:访问数据、管理数据、分析和呈现。下图显示了步骤顺序。
访问数据:
SAS 允许您以任何您想要的格式访问数据。
您可以访问存储在任何位置的数据,无论它是存储在您系统上的文件中,还是存储在其他数据库系统中。它可以是 Oracle 文件、SAS 数据库文件、原始数据库文件或简单的 XLS/CSV 文件。这将帮助您轻松访问这些数据。
管理数据:
SAS 提供强大的数据管理功能。您可以根据特定条件对数据进行子集划分或切片,创建变量,以及清理和验证数据。虽然其他工具也能执行相同的任务,但 SAS 能让您轻松完成这些工作。
SAS 拥有完善的库和流程,使编程过程变得轻松便捷。此外,创建变量或对数据进行子集划分只需一步即可完成。这使您无需编写复杂的算法,只需一行代码即可完成。
分析:
您可以使用 SAS 进行各种类型的分析:
- 检查平均频率计算
- 回归与预测
- 决策树
SAS 可以轻松处理所有这些分析。它是一款功能强大的预测工具,因此可以与其他工具并驾齐驱。 数据分析工具 用于企业报表。
现在:
如果数据可视化得当,观众就能轻松理解。工具必须以合适的方式呈现数据,这一点至关重要。SAS 正是为此而生,它拥有卓越的数据呈现功能。
您可以制作:
- 列表报告
- 摘要报告
- 图表报告
- 打印报告
SAS 程序示例
下一节将展示这些阶段在 SAS 代码中的样子。
SAS 程序包含三个必要步骤:
- 数据步骤
- 进程步骤
- 输出步骤
数据步
数据步骤将所需的数据集加载到 SAS 内存中并找到数据集的正确变量。它还捕获记录。我们可以使用数据步骤来:
- 将数据输入 SAS 数据集
- 计算值
- 检查或更正数据
- 生成新的数据集
DATA语句的语法如下:
句法
DATA data_set_name; #Give a name to the dataset INPUT var1,var2,var3; #Declare variables in the dataset. NEW_VAR; #Define new variables. LABEL; #Give variables a label DATALINES; #Provide data RUN;
计费示例:
以下示例展示了如何定义变量、命名数据集、创建新变量以及输入数据。在本例中,您可以看到字符串变量末尾带有 $ 符号,而数值变量则没有。
INPUT ID $ NAME $ SALARY DEPARTMENT $; comm = SALARY*1.50; LABEL ID = 'Emp_ID' comm = 'COMMISION'; DATALINES; 1 Tom 5000 IT 2 Harry 6000 Operations 3 Michelle 7000 IT 4 Dick 8000 HR 5 John 9000 Finance ; RUN;
注意:要执行 SAS 语句,需要指定 RUN 命令。
PROC步骤
它执行特定的分析或功能来产生结果和报告。
句法
PROC procedure_name options; #The name of the proc. RUN;
例如:
给定的示例使用 方法 打印数据集中数值变量的平均值的程序。
PROC MEANS; RUN;
OUTPUT 步骤
您可以使用条件输出语句显示数据集中的数据。
句法
PROC PRINT DATA = data_set; OPTIONS; RUN;
每个SAS程序都必须遵循上述所有步骤,才能读取输入数据、分析数据并输出分析结果。 跑 每个步骤末尾的语句完成该步骤的执行。
完整的 SAS 程序
下面给出了上述每个步骤的完整代码。
输出:
运行该程序会生成打印的数据集、描述性统计数据和最终报告,如下三个屏幕所示。
SAS 在哪里使用?
下面给出了一些重要的 SAS 应用程序:
| 行业 | 用法 |
|---|---|
| 制药 | 统计分析、报告 |
| 电信 | ETL、报告、数据挖掘、预测 |
| 财务 | ETL、报告、数据挖掘、金融研究 |
| 预测建模 | DBMarketing,基于活动的管理 |
| 医疗保健 | ETL、报告、数据挖掘 |
SAS 与 R
下表将 SAS 和 R 在成本、学习曲线和图形方面进行了对比。
| SAS | R |
|---|---|
| SAS 是商业软件,因此需要财务投资。 | R 是开源软件,因此任何人都可以使用它。 |
| SAS 是最容易学习的分析工具。即使是对 SQL 了解有限的人也可以快速学会它。 | R 要求你编写复杂而冗长的代码。 |
| SAS 是大型公司首选的软件,技术相当先进且用户友好。 | R 开发速度很快ping 软件;但是,你需要不断升级它。 |
| SAS 具有良好的图形支持,但不提供任何定制。 | R 工具的图形支持非常差。 |
SAS 的优势
- SAS 语法简单易学,无需任何编程知识即可掌握。
- 能够轻松处理大型数据库
- SAS 是一种非常易于理解的语言,可以轻松调试
- 它的“日志”窗口会清晰地显示错误信息,这有助于您轻松调试代码。
- SAS 可以帮助您全面测试和分析算法。
- SAS 完全安全,因此您无法……trac没有许可证就在办公室里干这个
- 使非编程用户也能更轻松地进行统计计算
- 能够有效处理大型数据库。
SAS 的缺点
- 成本很高,因为个人或组织如果没有适当的许可证就无法使用其所有应用程序。
- SAS 不是开源软件,因此 SAS 中使用的算法无法公开使用。
- 文本挖掘在SAS中是一个非常麻烦且困难的过程。
- 社区解答和第三方软件包的数量比开源技术栈要少。 数据科学 和 机器学习 工作。


















