自动化IBM SPSS Data Collection调查导出?

时间:2014-12-08 16:06:27

标签: python sql-server spss

我很抱歉这里含糊不清的问题,但我希望SPSS专家能够帮助我。我们有一些调查是通过SPSS完成的,我们从中提取内部报告的数据。目前这个过程非常繁琐,需要进入SPSS Data Collection Interviewer Server Administration页面并手动导出两个不同项目的数据(一次需要几个小时!)。然后我们获取数据,按摩它,然后将其上传到驱动内部报告的另一个数据库。

我的问题是,有没有人知道如何自动化这个过程? SPSS数据背后是否有SQL Server数据库? .mdd文件在哪里进行播放?我的团队(精通从各种来源提取数据)可以使用SPSS后面的SQL Server数据库来获取我们的数据吗?或者我们需要某种Python脚本和插件吗?

如果我错过了有助于回答问题的信息,请告知我们。我乐意提供它;我只是不知道要提供什么。

非常感谢。

3 个答案:

答案 0 :(得分:2)

正如其他贡献者所提到的,有几种方法可以实现这一目标。我建议最简单的是使用DMS(数据管理脚本)和Windows调度程序。理想情况下,您应该按照以下步骤。

先决条件: 1.您应该有权访问运行IBM Data集合的服务器 2. Windows任务调度程序的基本知识 3. DMS脚本知识

方法: 1.从模板创建新的DMS脚本 2.如果只想执行数据提取/转换,则只需要输入和输出数据源 3.在输入数据源中,创建/构建指向IBM Data collection服务器上的调查的连接字符串。将数据源用作SQL 4.在选择查询中:如果要导出所有变量,请使用“从VDATA中选择*” 5.通过选择输出数据格式为SPSS设置输出数据连接字符串(如果要在SPSS中导出) 6.手动运行脚本,查看SPSS导出是否符合预期 7.使用文本编辑器创建批处理文件(使用.bat扩展名保存)。添加以下行

cd“C:\ Program Files \ IBM \ SPSS \ DataCollection \ 6 \ DDL \ Scripts \ Data Management \ DMS” 致电DMSRun YOURDMSFILENAME.dms

然后添加一行以复制(使用XCOPY)提取到您想要进一步处理它的位置的数据/文件。

  1. 保存文件并打开Windows调度程序以安排执行此批处理文件以进行数据提取。
  2. 如果要进行任何进一步处理,请创建一个mrs或dms文件并添加到批处理文件中。

    希望这有帮助!

答案 1 :(得分:0)

有许多不同的方法可以完成缓解此任务,甚至完全自动化。但是,如果您不是IBM SPSS Data Collection专家,并且无法访问某个有或没有时间成为其中一员的人,我建议您与在该平台上提供服务的一些顾问取得联系。在内部,IBM没有很多熟练的SPSS资源,因此他们非常依赖外部合作伙伴来为他们的许多产品提供服务。特别适用于IBM SPSS Data Collection,但对于SPSS Statistics也是如此。

正如之前的贡献者所指出的,有一种方法是使用Python进行数据清理,合并和其他转换,然后将该输出加载到报表数据库中。出于维护原因,我可能不会建议这种方法。虽然您很可能使用简单的SPSS语法(以及SPSS附加数据组件)自动将数据从SPSS Data Collection导出到sav文件,但在升级SPSS Statistics或SPSS Data Collection时极易出错

从最佳实践角度来看,您应该使用SPSS数据收集数据管理模块。它非常灵活,几乎不需要对升级进行任何维护,因为您在相同的数据模型框架内工作(例如,调查元数据,调查版本,标签等是隐式处理的),直到您将转换后的数据加载到报告数据库中为止。 / p>

理想情况下,方法是构建提到的SPSS数据收集数据管理脚本,并在每次完成的访谈结束时触发它。通过这种方式,您的报告将接近实时(您可以通过在访谈期间使用访谈脚本事件触发DM脚本来实时实现 - 仅仅是一个FYI)。

SPSS Data Collection平台上的所有脚本(包括数据管理脚本)都非常类似于VB,因此对于大多数了解VB的人来说,它非常容易上手,并且在SPSS Data Collection DDL中有很好的记录。在那里,您还可以找到从SPSS Data Collection调查中提取调查数据的示例(以及从其他数据库,文件等读取和写入数据)。还有许多数据操作和转换的例子。

最后,回答您的具体问题:

  • 是的,SPSS Data Collection后面总是有一个MS SQL Server -
    没有例外。但是,一般而言,数据模型是通向左派的方式 复杂,直接从中读出数据。如果你仔细看看, 你会很快意识到这一点。
  • MDD文件(Meta Data Document的缩写)包含所有调查元数据 数据包括数据源规范,版本历史等。 没有它,你将无法制作任何调查数据 数据库,这是我建议留在的数据库的主要原因 SPSS Data Collection平台,用于处理大部分数据 尽可能。但是,它确实只是一个可读的XML文件。

请注意,SPSS数据收集数据管理模块需要单独的许可证,如果所需的脚本很大或很复杂,您可能也需要基础专业人员,如果这不是您已经用于开发问卷和处理调查的内容

希望有所帮助。

答案 2 :(得分:-1)

这并不像直接使用任何数据库保存数据一样干净,但您可以对导出的数据集执行某些操作:

您可能有或没有办法从管理面板内部编写和运行导出脚本或其他任何方法。如果没有,您可以使用Selenium WebDriver编写一个简单的Python脚本,该脚本会登录到您的管理面板并将所有数据导出到* .sav数据文件。

然后,您可以使用Python SPSS扩展来编写分析脚本。请注意,这些脚本必须在安装了SPSS副本的计算机上运行。

一旦您可以访问Python的数据和分析结果,您应该能够轻松地将其写入您的其他数据库。