在以前关于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二次开发的更多相关文章

  1. spss C# 二次开发 学习笔记(六)——Spss统计结果的输出

    Spss的二次开发可以很简单,实例化一个对象,然后启用服务,接着提交命令,最后停止服务. 其中重点为提交命令,针对各种统计功能需求,以及被统计分析的数据内容等,命令的内容可以很复杂,但也可以简单的为一 ...

  2. spss C# 二次开发 学习笔记(五)——Spss系统集成模式

    Spss官方不支持Server2008R2等Server系列,但做Spss的二次开发,调用Spss的Web系统,一般部署在Server系列上,例如Server2008R2. 起初,在Server上安装 ...

  3. spss C# 二次开发 学习笔记(四)——Spss授权

    Spss的授权方式有两种,单机版和网络版. Spss的激活,在联网的情况下,通过20位的激活码激活,在未联网的情况下,Spss根据机器获取一个类似4-XXXX的锁定码,然后由激活码和锁定码算出一个授权 ...

  4. spss C# 二次开发 学习笔记(三)——Spss .Net 开发

    Spss .Net 二次开发的学习过程暂停了一段时间,今天开始重启. 之前脑残的不得了,本想从网上下载一个Spss的安装包,然后安装学习.于是百度搜索Spss,在百度搜索框的列表中看到Spss17.S ...

  5. spss C# 二次开发 学习笔记(一)——配置数据源

    由于项目的需要,使用Spss进行数据统计分析. Spss对于数据统计分析的功能有多强主要是客户关注的事情,我所主要关注的是,Spss的二次开发有多复杂. 学习的基本思路是: (1)首先了解统计基本知识 ...

  6. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

  7. [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用

    目       录 第十二章     二次开发及应用... 2 12.1        项目配制... 3 12.2        引用相关组件... 4 12.3        构建主程序... 5 ...

  8. OBS-Studio二次开发记录

    OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...

  9. 小猪cms微信二次开发之怎样分页

    $db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...

随机推荐

  1. 【英语】Bingo口语笔记(56) - “令人失望”的表达

  2. HDU 4608 I-number 2013 Multi-University Training Contest 1

    定义一个数 y 为 x 的 I-number.对于 y 有如下要求: 1.y > x; 2.y 的每一位之和要为10的倍数(例如 28 每一位之和为 10 ,为 10 的 1 倍); 3.这样的 ...

  3. 統計分析dbms_stats包与analyze 的区别

    Analyze StatementThe ANALYZE statement can be used to gather statistics for a specific table, index ...

  4. Android 混合开发 的一些心得。

    其实所谓这个混合开发,也就是hybird,就是一些简单的,html5和native 代码之间的交互.很多电商之类的app里面都有类似的功能, 这种东西其实还是蛮重要的,主要就是你有什么功能都可以进行热 ...

  5. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

    1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...

  6. Win7安装IDL8.0以及破解

    参考:http://bbs.06climate.com/forum.php?mod=viewthread&tid=5230 1.下载IDL8.1和证书 下载地址:http://yunpan.c ...

  7. 用Asp.net实现简单的文字水印

    用Asp.net实现简单的文字水印  经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个动态网页,就会生成一个带有这个字符串的图片,这个叫做文字水印.像什么原来的熊猫系列,还有后来 ...

  8. win8 VS控件信息

    <TextBlock x:Name="button_1" HorizontalAlignment="Center"  TextWrapping=" ...

  9. 一.JSP开发的工具下载与环境搭建

    JSP技术的强势: (1)一次编写,到处运行.在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改. (2)系统的多平台支持.基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统 ...

  10. java多线程之synchronized(线程同步)

    一.线程同步,主要应用synchronized关键字: public class TraditionalThreadSynchorinzed { public static void main(Str ...