SPSS二次开发
在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少。
Web SPSS系统是利用SPSS二次开发技术,使用户可以在B/S系统中调用SPSS软件来完成数据分析与处理操作,系统正在完善中。目前在.NET平台下主要有以下两个方案的Web SPSS系统:
实时处理方案
用户在客户端提交SPSS语法命令后,Web SPSS系统立即调用服务器上的SPSS软件,将SPSS语法命令传递给SPSS软件,调用SPSS软件进行数据分析,待完成后立即将分析结果反馈给用户。在本方案中,客户端通过 TCP 通道发送请求至服务器端的Windows服务,由服务器端的Windows服务承载远程SPSS对象,客户端获得SPSS对象后,将SPSS分析命令直接传递给SPSS软件完成数据分析并生成分析结果,最终将分析结果文件的地址返回给客户端。

批处理方案
与实时处理方案不同,批处理方案在客户端用户在提交SPSS分析命令后,服务器并不立即调用SPSS软件,而是将SPSS分析命令上传至数据库中,等待服务器去处理。服务器每隔一段时间,查询数据库中是否存在新提交的SPSS分析任务,如果存在,系统才调用服务器上的SPSS软件进行数据分析,将生成的结果文件路径存储在数据库中,客户端查询数据库获得生成结果文件的路径,将生成结果反馈给用户;如果不存在新提交任务,则不作任何操作。
在本方案中,客户端通过Web页面提交SPSS语法命令至服务器端的数据库中。服务器端的Window服务每隔一段时间查询数据库,当发现新提交的SPSS分析命令时,获得本地SPSS对象,一次处理所有新提交的SPSS分析命令,并将处理生成的结果文件路径提交至数据库中。在服务器端完成SPSS分析任务后,用户通过客户端Web页面,查看产生的分析结果。

系统雏形截图
语法命令输入页面

SPSS分析任务列表页面

SPSS分析任务结果展示页面

C#使用SPSS.NET操作SPSS数据文件
C#使用COM组件操作SPSS文件
需要注意的是,创建SPSS对象之前,需要将SPSS软件提供的四个库引用到程序中,这四个库分别是:
SPSS type library (spsswin.tlb):包括对Application对象、 Options对象、文件信息对象、 Documents集合、 Items集合、Chart对象、 Maps对象等的操作。
PivotTable type library (spsspvt.tlb):包括转轴表Pivot Table对象及其里面所包含的所有对象。
Graphics Editor OLE control (spssgctl.tlb): 包括交互式Graphs对象及其所包含的所有对象。
RTF type library (spssrtf.tlb):包含RTF文本对象。
这四个库都是在安装SPSS软件后自动注册到系统注册表中的,使用时只需要通过以COM对象的形式加载到开发环境中即可。关于这方面的资料可以参考一下几 个文档:SPSS 14.0 for Windows Developer's Guide.pdf,SPSS Programming and Data Management.pdf等。
SPSS二次开发的更多相关文章
- spss C# 二次开发 学习笔记(六)——Spss统计结果的输出
Spss的二次开发可以很简单,实例化一个对象,然后启用服务,接着提交命令,最后停止服务. 其中重点为提交命令,针对各种统计功能需求,以及被统计分析的数据内容等,命令的内容可以很复杂,但也可以简单的为一 ...
- spss C# 二次开发 学习笔记(五)——Spss系统集成模式
Spss官方不支持Server2008R2等Server系列,但做Spss的二次开发,调用Spss的Web系统,一般部署在Server系列上,例如Server2008R2. 起初,在Server上安装 ...
- spss C# 二次开发 学习笔记(四)——Spss授权
Spss的授权方式有两种,单机版和网络版. Spss的激活,在联网的情况下,通过20位的激活码激活,在未联网的情况下,Spss根据机器获取一个类似4-XXXX的锁定码,然后由激活码和锁定码算出一个授权 ...
- spss C# 二次开发 学习笔记(三)——Spss .Net 开发
Spss .Net 二次开发的学习过程暂停了一段时间,今天开始重启. 之前脑残的不得了,本想从网上下载一个Spss的安装包,然后安装学习.于是百度搜索Spss,在百度搜索框的列表中看到Spss17.S ...
- spss C# 二次开发 学习笔记(一)——配置数据源
由于项目的需要,使用Spss进行数据统计分析. Spss对于数据统计分析的功能有多强主要是客户关注的事情,我所主要关注的是,Spss的二次开发有多复杂. 学习的基本思路是: (1)首先了解统计基本知识 ...
- Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
- OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
- 小猪cms微信二次开发之怎样分页
$db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...
随机推荐
- 嵌入式 H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1 MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...
- 嵌入式 Linux下编译并使用curl静态库
#x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disa ...
- Unicode和汉字编码小知识
Unicode和汉字编码小知识 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的 ...
- linux清空日志文件内容 (转)
随着系统运行时间越来越长,日志文件的大小也会随之变得越来越大.如果长期让这些历史日志保存在系统中,将会占用大量的磁盘空间.用户可以直接把这些日志文件删除,但删除日志文件可能会造成一些意想不到的后果.为 ...
- redhat 下Redis安装
Redis 官网:http://redis.io/ 下载地址: http://redis.io/download 安装方法: cd opt wget http://download.redis. ...
- android命名规范
Android 开发规范 (陈杨) (一)注意事项 1. 编码方式统一用UTF-8. Android Studio默认已是UTF-8,只要不去改动它就可以了. 2. 缩进统一为4个空格,将Tab si ...
- PHP.ini 配置文件解析
[PHP] ;;;;;;;;;;;;;;;;;;;; About php.ini ;;;;;;;;;;;;;;;;;;;;; PHP's initialization file, generall ...
- C++读取二进制文件(某特定格式)
该格式也不复杂,就是一个二进制文件,格式为:8个通道,每个通道2字节,都为整数,最后两个通道都是0x03FF == 1023d,文件中中若干个8通道. 有个小细节就是:下面代码中 infile.rea ...
- yield汇编实现
yield汇编实现. #include <stdio.h #include <conio.h #include <iostream.h // // marks a location ...
- python中的静态方法和类方法
在python中,各种方法的定义如下所示: class MyClass(object): #在类中定义普通方法,在定义普通方法的时候,必须添加self def foo(self,x): print & ...