如何在 Windows 上运行 SAS 代码

SAS 本身可以在 Windows 上运行。它需要的是许可证,而通常正是这一点把人挡住。Jenner 在您已有的 Windows 机器上运行同样的程序——同样的 DATA 步、同样的宏、同样的 PROC 调用——而且不需要许可证。

简短的回答

安装 Jenner,打开您已有的程序并运行它。不做任何转换,也不做移植:磁盘上的 .sas 文件就是被执行的文件。如果您还在比较方案而不是准备安装,下面的问题列出了 Windows 用户真正拥有的每一条路径,也包括不是我们的那些。

它契合 Windows 上既有的工作方式

从命令行运行程序,任务计划程序即可对其排期;也可以在流水线中通过 HTTP 调用,或在 Jupyter 笔记本中交互式工作。程序保持 SAS 语法,因此在这里写的文件可以原样运行在同事的 Mac 或 Linux 服务器上。

在 Windows 上运行的内容

Jenner 与 SAS 兼容:您的程序已经使用的那门语言,在 Windows 上以与您今天相同的语句名和选项名运行。

DATA 步、PROC SQL 与宏

语言的核心按原样运行——DATA 步逻辑、数组、格式与输入格式、宏功能以及 PROC SQL。针对 SAS 9.4 语法编写的代码在运行前不需要移植步骤。

100 个过程

回归与线性模型、生存分析、多元方法与聚类、时间序列、质量控制、汇总与报表。每个过程都有已发布的参考页面,列出其支持的语句和选项,您可以在做出决定之前查阅某个具体过程。

已经在网络驱动器上的文件

Jenner 在 Windows 上直接读写 SAS7BDAT 和 XPT,同时支持 CSV 和 Parquet。共享驱动器上的数据集无需转换即可读取,输出也可以按团队其他成员预期的格式写回。

服务器上同一个程序

同一份源代码可在 Windows、macOS 和 Linux 上运行。在 Windows 笔记本上开发的程序,可以原样作为计划任务运行在 Linux 服务器上,而生产运行通常就发生在那里。

可以展示的结果

Jenner 通过了 NIST Statistical Reference Datasets 基准中全部 58 个数据集,这是统计软件精度方面通行的第三方测试套件。过程参考文档已全文发布,因此“某个特定 PROC 受支持”这一说法,在您迁移任何内容之前就可以核实。

常见问题

安装 Jenner 并运行该文件。它是 SAS 语言的独立实现,因此可以在 Windows 上直接执行 .sas 程序,既不需要安装 SAS,也不需要 SAS 许可证。文件不会被预先转换——磁盘上的程序就是运行的那个程序。

可以。与 Apple 芯片上的 macOS 不同,Windows 是 SAS 9.4 支持的平台,所以这不是架构问题。对多数人而言,障碍是许可证和安装审批,而不是软件能否运行。

Jenner 可在 Windows 11 和 Windows 10 上运行。至于 SAS 9.4 本身,受支持的操作系统版本由 SAS 规定且随版本变化,请查阅他们针对您所持版本的文档,而不要依赖第三方的说法。

不需要。Jenner 是 SAS 语言的洁净室实现,不嵌入、不封装、也不调用 SAS 软件。它在任何层面都不需要 SAS 许可证,也没有需要签出或续订的东西。

将 Jenner 的可执行文件指向一个 .sas 文件即可运行,它会把日志和输出数据集写到您指定的位置。由于它是普通的命令行程序,任务计划程序、批处理文件或 CI 运行器都可以像调用其他程序一样调用它。

不需要。程序仍然是 SAS 语法——与您现在拥有的相同的 DATA 步、宏和 PROC 调用。覆盖范围并非整门语言,因此判断自己代码的诚实做法是运行它并阅读日志,而不是轻信一个笼统的说法。

可以。Jenner 直接读取 SAS7BDAT 和 XPT,并能将其写回或转换为 CSV 或 Parquet。无论该文件是否由 SAS 生成,也无论它在您的磁盘上还是共享驱动器上,都同样有效。

SAS OnDemand for Academics 免费,在 Windows 的浏览器中运行,对教学、学习和研究是正确的选择——SAS 将其限定为学术用途,因此不适用于商业工作。它还运行在 SAS 的基础设施上而非您的机器上,如果您的数据不能离开本网络,这一点就很关键。

Altair SLC 同样在没有 SAS 许可证的情况下运行 SAS 语言程序,而且比我们做得久得多。如果您希望供应商在您这个具体的边缘情形上有长期积累,它是一个值得认真考虑的选择,两者都应比较。我们宁愿您是有意识地做出选择,而不是事后才发现。 该产品现在由西门子以 Rapidminer SLC 的名义销售,因此两个名称都值得搜索。

有时确实应该。如果代码量不大,或者本来就在重写,或者团队反正要离开 SAS 技能栈,那么迁移到 Python 或 R 才是更好的最终状态,就该那么做。继续运行 SAS 代码的理由最充分的情形是:代码量大、已经过验证,而重写意味着重新验证。

在 Windows 上运行您的 SAS 程序

无需 SAS 许可证,也无需重写。就是您已经拥有的那些程序。

开始免费试用