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 ...
随机推荐
- 机器学习(二)——K-均值聚类(K-means)算法
最近在看<机器学习实战>这本书,因为自己本身很想深入的了解机器学习算法,加之想学python,就在朋友的推荐之下选择了这本书进行学习,在写这篇文章之前对FCM有过一定的了解,所以对K均值算 ...
- 定时组件quartz系列<一>模拟定时组件小程序
一.核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可. 1.Job表示一个工作,要执行的具体内容.此接口中只有一个方法void execute(Jo ...
- Excel2007条件格式怎么用
Excel2007的条件格式功能十分的强大实用,较2003版改进十分的大,下面我们以经验记录为例做一简单的操作示范.注意前部分有二点技巧可借鉴,即不规则选取和不规则统一填充. 工具/原料 EXCEL2 ...
- wc命令--Linux统计文件行数
语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选 ...
- effective java 笔记1--序言
一.序言 程序设计的几条基本原则: 1.清晰性和简洁性最为重要,模块的用户永远也不应该被模块的行为所迷惑,所以写良好的注释是必需的. 2.模块要竟可能小,但也不能太小,好一个深奥的哲学问题. 3.代码 ...
- tengine+lua的安装步骤
我是在Red Hat 5.8 的虚机上安装的. Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库等.建议把这 ...
- HDU3333 Turing Tree 离线树状数组
题意:统计一段区间内不同的数的和 分析:排序查询区间,离线树状数组 #include <cstdio> #include <cmath> #include <cstrin ...
- duilib List控件,横向滚动时列表项不移动或者显示错位的bug的修复
转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264673 关于这个bug的修复我之前写过一篇博客,连接为:http:/ ...
- C# 异步操作 async await 的用法
1. async与 await 成对出现 async 在方法前使用 ,方法体面面用 await . 2. 使用async 和await定义异步方法不会创建新线程. 3.await 后面一定是一个扫行 ...
- JavaScript中的Function(函数)对象
1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...