jupyter notebook 中编写 sas 代码

本文详细介绍了如何在已安装Anaconda3的基础上安装SASKernel,并配置SASPy以便实现Python与Windows本地SAS服务的连接。文中特别强调了配置文件sascfg_personal.py的重要性,并给出了具体步骤。

折腾了两个半小时终于搞定,记录一下。

安装 SAS kernel

在安装了 anaconda3 的基础上,直接使用命令行安装 sas_kernel 模块(win 用户可以 powershell 中运行如下命令):

> pip install sas_kernel

这个过程会安装 SASPy 模块,因为SASPy是sas_kernel 的依赖包。

配置 SASPy

SASPy 的配置是最重要的一步。笔者只需要python能够连接windows平台本地的sas服务,所以重点说明winlocal 的配置。

step1

找到 sascfg_personal.py 文件,打开,在该文件中进行相关配置:

>>> import saspy
>>> saspy.SAScfg
<module 'sascfg_personal' from 'C:\\Users\\51377\\Anaconda3\\lib\\site-packages\\sascfg_personal.py'>

step2

打开 sascfg_personal.py 文件,发现其中包含各种类型的配置,包括linux,windows,local,remote等等。对于windows平台连接本地sas的情况来说,只要配置winlocal 即可,即下图红框标识的部分(根据实际情况填写)。

SAS_config_names=['default', 'winlocal']

这里写图片描述

step3

将sas相关文件 sspiauth.dll 添加到系统环境变量,该文件很可能在如下目录:

C:\Program Files\SASHome\SASFoundation\9.4\core\sasext

(注意添加变量时不要包含 sspiauth.dll 文件本身)

重点提醒:环境变量添加完成后,要重启电脑才会生效。

若不重启,相当于没有添加环境变量,很可能遇到如下报错:

>>> import saspy
>>> sas = saspy.SASsession()

The native implementation module for the security package could not be found in the path.The native implementation module for the security package could not be found in the path.
SAS process has terminated unexpectedly. RC from wait was: 4294967290
SAS Connection failed. No connection established. Double check you settings in sascfg.py file.

Attempted to run program java with the following parameters:['java', '-classpath', 'C:\\java\\sas.svc.connection.jar;C:\\java\\log4j.jar;C:\\jars\\sas.security.sspi.jar;C:\\jars\\saspyiom.jar',
'pyiom.saspy2j', '-host', 'localhost', '-stdinport', '59110', '-stdoutport', '59111', '-stderrport', '59112', '-zero', '']

Be sure the path to sspiauth.dll is in your System PATH

No SAS process attached. SAS process has terminated unexpectedly.

完成

各项配置成功后,会有如下显示:

>>> sas = saspy.SASsession(cfgname='winlocal')
SAS Connection established. Subprocess id is 6968

可以在python中写sas代码啦。

数据分析,数据科学及AI算法是当前最热门的职业。这些职业有着共同的特点:面向数字的,针对编程的以及采取分析手段的。 这些当代热点特性使得在就业市场上对以上职位需求激增也就不足为奇了。但是,市场上提供这方面的大型综合的培训课程是有限,如果说有,大多是知识范围狭窄且非综合性的,而且大多培训都缺乏方法论与实务结合。一般的情况是讲师讲述某种语言的一堆代码,学生听完后甚至连使用方法及代码的前提都不清楚,更别提实际应用场景了。这里,掌握一门数据分析软件本身没错,但仅通过单一的编程培训很难获得聘用为数据分析师或数据科学家所需的技能。那我的解决方案是什么呢?首先,我把所有数据分析中的典型问题都归类总结出来,再结合相应的实际问题,数据以及案例,同时采用世界上最流行的两种数据分析软件:PYTHON 和 SAS去解决这些问题,并将这些解决方法传授给学生。学生在完成培训后更重要的收获是知道每一问题从产生直至解决的前因后果和应用场景,这是因为我在每一课程章节最前都会交代方法论,知识要点及应用场合。SAS和PYTHON可以一起学吗?当然可以。因为我就是这样做到的。具体步骤是,我在课程当中安排了一系列主题,然后使用两种编程语言解决同样的问题。我总结出这样做的好处是边学习边比较,最后在不知不觉当中掌握了两门语言的精华和数据分析的通用方法或模式。过程虽有点长,但十分有趣。最后,为了巩固已学的知识和技能,我还专门安排了针对PYTHON 和 SAS的中小型项目及详细代码讲解。另外,课程当中使用的全部编程代码及数据文件都将免费地提供给注册的学生。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值