首页 文章

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

提问于
浏览
1

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

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

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

非常感谢 .

3 回答

  • -1

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

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

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

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

  • 0

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

    先决条件:1 . 您应该有权访问运行IBM Data collection的服务器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)提取到您要进一步处理它的位置的数据/文件 .

    • 保存文件并打开Windows调度程序以安排执行此批处理文件以进行数据提取 .

    如果要进行任何进一步处理,请创建mrs或dms文件并添加到批处理文件中 .

    希望这可以帮助!

  • 2

    有许多不同的方法可以完成缓解此任务,甚至可以完全自动化 . 但是,如果您不是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数据收集数据管理模块 . 它非常灵活,几乎不需要对升级进行任何维护,因为您在相同的数据模型框架内工作(例如调查元数据,调查版本,标签等是隐式处理的),直到您将转换后的数据加载到报告数据库中 .

    理想情况下,方法是构建提到的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数据收集数据管理模块需要单独的许可证,如果所需的脚本很大或很复杂,您可能也需要基础专业人员,如果这不是您已经用于开发调查问卷和处理调查的内容 .

    希望有所帮助 .

相关问题