SAS 初学者教程:什么是&编程示例

⚡ 智能摘要

SAS 是一款命令行驱动的统计软件套件,用于数据分析、商业智能和预测建模。下文将介绍其 DATA 和 PROC 步骤、产品套件、三层架构以及免费学术版本。

  • 🔘 完整形式: SAS 代表统计分析系统,通常发音为“sass”。
  • ☑️ 产地: 该项目始于北卡罗来纳州立大学,并于 1976 年注册成立为 SAS 研究所。
  • 程序形状: 每个程序都包含一个 DATA 步骤、一个 PROC 步骤和一个输出步骤,每个步骤都由 RUN 步骤结束。
  • 🧪 结 构: 客户端层、中间层和后端层将浏览器、应用程序逻辑和数据服务器分隔开来。
  • 🛠️ 免费进入: SAS OnDemand for Academics 取代了已停用的 University Edition,并在浏览器中运行 SAS Studio。
  • ⚠️ 权衡: 许可成本和封闭式算法不利于实现简单的语法和获得强大的监管行业支持。

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 与最常与之比较的两款开源工具并列展示。

SAS 与 R 等替代分析工具的比较 Python

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架构,包括客户端层、中间层和后端层。
ArchiSAS 结构

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 免费学术软件页面,然后点击“获取免费软件”。

SAS免费学术软件下载页面,带有“获取免费软件”按钮

步骤 2)选择您的 Opera系统

请根据您的系统选择操作系统,如下所示。

OperaSAS 下载页面上的系统选择屏幕

步骤 3)下载并安装虚拟化软件

SAS 大学版需要虚拟化软件,例如 VirtualBox 必须先安装该组件才能进行安装。下载界面如下所示:

VirtualBox 在进行本地 SAS 安装之前,需要先下载虚拟化软件。

按照屏幕上的步骤安装 SAS。 VirtualBox 本地安装有时可能会比较棘手,因此建议改用下面的 AWS 方案。

AWS 安装

注意: SAS 大学版 AWS Marketplace 的商品信息已被撤回,因此 URL原始步骤中引用的 s 不再适用。以下顺序保持不变,因为对于您订阅的任何 SAS Marketplace 镜像,AWS 订阅-配置-启动流程均未更改。

您可以在 AWS 上部署 SAS。它符合免费套餐的条件。

步骤1) 在 AWS Marketplace 上打开 SAS 大学版产品页面。点击下方所示产品页面上的“继续订阅”。

AWS Marketplace 商品详情页面,其中“继续订阅”按钮已高亮显示

步骤2) 在下一个屏幕中,接受条款。

AWS Marketplace 条款和条件页面,带有“接受条款”按钮

步骤3) 订阅正在审核中,最多需要 10 分钟才能获得批准。您将看到以下屏幕。

请求获批时会显示 AWS 订阅待处理消息

步骤4) 刷新页面,您的订阅将被确认。点击“继续配置”。

已确认的 AWS 订阅屏幕,带有“继续配置”按钮

步骤5) 保留默认设置并单击继续启动。

AWS 配置屏幕,包含默认设置和“继续启动”按钮

步骤6) Rev查看配置页面。输入键值对。其余设置应为默认值。点击“启动”。

AWS 启动审核页面,在点击“启动”之前,需要在该页面输入键值对。

步骤7) 前往您的 AWS Marketplace 库,然后单击“查看实例”,如图所示。

AWS Marketplace 库页面,包含“查看实例”链接

步骤8) 如下图所示的弹出窗口中:

  1. 记下实例 ID。这是您的密码
  2. 点击访问软件

实例弹出窗口显示用作密码的实例 ID 和访问软件链接

步骤9) 在步骤 8 点击后出现的弹出窗口中:

  1. 输入用户凭证。ID:sasdemo 密码:步骤 8 中记下的实例 ID
  2. 点击登录

登录弹出窗口,用于输入 sasdemo 用户 ID 和实例 ID 密码。

步骤10) 您将在下方看到欢迎界面。

成功登录后显示的 SAS Studio 欢迎界面

故障排除

如果无法连接,请打开您所在区域的 EC2 控制台的“安全组”页面,并将入站和出站规则设置为“全部”。

如何使用 SAS?

要有效使用 SAS 软件,您需要遵循四个步骤:访问数据、管理数据、分析和呈现。下图显示了步骤顺序。

使用 SAS 的四个步骤:访问数据、管理数据、分析和呈现。

如何使用 SAS

访问数据:

SAS 允许您以任何您想要的格式访问数据。

您可以访问存储在任何位置的数据,无论它是存储在您系统上的文件中,还是存储在其他数据库系统中。它可以是 Oracle 文件、SAS 数据库文件、原始数据库文件或简单的 XLS/CSV 文件。这将帮助您轻松访问这些数据。

管理数据:

SAS 提供强大的数据管理功能。您可以根据特定条件对数据进行子集划分或切片,创建变量,以及清理和验证数据。虽然其他工具也能执行相同的任务,但 SAS 能让您轻松完成这些工作。

SAS 拥有完善的库和流程,使编程过程变得轻松便捷。此外,创建变量或对数据进行子集划分只需一步即可完成。这使您无需编写复杂的算法,只需一行代码即可完成。

分析:

您可以使用 SAS 进行各种类型的分析:

  • 检查平均频率计算
  • 回归与预测
  • 决策树

SAS 可以轻松处理所有这些分析。它是一款功能强大的预测工具,因此可以与其他工具并驾齐驱。 数据分析工具 用于企业报表。

现在:

如果数据可视化得当,观众就能轻松理解。工具必须以合适的方式呈现数据,这一点至关重要。SAS 正是为此而生,它拥有卓越的数据呈现功能。

您可以制作:

  1. 列表报告
  2. 摘要报告
  3. 图表报告
  4. 打印报告

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 程序,结合了 DATA 步、PROC 步和 OUTPUT 步。

输出:

运行该程序会生成打印的数据集、描述性统计数据和最终报告,如下三个屏幕所示。

SAS 输出窗口显示了打印的五条员工记录的数据集

PROC MEANS 输出列出数值变量的描述性统计信息

PROC PRINT 过程生成的最终 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中是一个非常麻烦且困难的过程。
  • 社区解答和第三方软件包的数量比开源技术栈要少。 数据科学机器学习 工作。

常见问题

DATA 步是过程式的:你需要逐行描述逻辑,它可以读取原始文本文件。PROC SQL 是声明式的:你只需声明想要的结果,过程就会规划连接操作。大多数程序会将两者结合使用。

库是指向存放 SAS 数据集的文件夹或数据库的别名。LIBNAME 语句用于创建库,例如,它可以将名称映射到目录。WORK 目录中的表在会话结束时会消失;而库中的表则会保留。

PROC IMPORT 读取文件并写入 SAS 数据集,其中 DBMS 指定源类型,而 GETNAMES 选项从第一行提取列名。对于重复加载,DATA 步骤中的 INFILE 语句可以更精细地控制列类型。

SAS 认证助理:SAS 9.4 编程基础(考试代码 A00-215)是入门级认证。考试内容涵盖数据的访问、探索、准备和汇总。请在预订考试前访问 SAS 认证网站查看当前费用、题量和及格分数。

初学者通常经过几周的持续练习,就能熟练掌握 DATA 步、常用过程和基本报表功能。宏编程、PROC SQL 调优和统计过程则需要更长的时间,具体时间取决于你所处的领域。

SAS 在医药、银行和政府报告领域占据主导地位,在这些领域,经过验证和审计的软件至关重要。 Python 在开源分析和机器学习领域占据主导地位。学习这两项技术是现实的,许多团队现在都在运行相关程序。 Python 在 SAS 环境中。

AI 助手可以根据简单的描述生成 DATA 步骤和 PROC 代码框架,解释晦涩难懂的日志警告,并为变量类型不匹配的问题提供修复建议。请务必使用示例运行生成的代码并查看日志——助手无法查看您的实际数据。

GitHub 副驾驶 建议在诸如以下编辑器中使用 SAS 语法: VS Code由于 .sas 文件是纯文本文件,因此其建议效力较弱。 Python 因为公开的 SAS 代码较少,所以要将每次完成都视为草稿进行验证。

总结一下这篇文章: