京公网安备 11010802034615号
经营许可证编号:京B2-20210330
spss读取数据syntax语句
生活中,我们常常因为这样或那样的事情而需要从一个城市到另外一个城市。旅途前,我们需要考虑旅途中的各个环节,比如说确定旅行方式(水、陆、空的选择),交通工具的选择及出行站点、出行车次(航班)等等。而把各种形式的数据按照自己的要求转换为SPSS格式数据,就好比我们从一个城市到另一个城市,而SPSS格式的数据就是我们的目的地。

和现实生活一样,利用Syntax将各种形式的数据转换为我们所需的SPSS格式数据也需要我们像旅途一样考虑一些细节问题。例如:我们从一个数据库文档中读取我们所需的数据,首先确定SPSS与数据库间采用何种连接方式(ODBC或JDBC),然后确定采集的数据来自何种数据库(Oracle,DB2,SQL SERVER,ACCESS等),接下来就是确定类似出发站点、车次等一系列细节问题。这样说来好像有点玄乎,下面将结合实例,看Syntax是如何一步一步的从数据库、EXCEL、TXT等格式文档中提取数据。
一、从数据库中读取数据
由于从数据库中读取数据需要输入的代码比较繁琐,一般来说先利用菜单向导操作,在结束前利用Paste将操作大致代码导入Syntax编辑窗口中,然后再根据自己的需要对代码做适当的修改。例如:
GET DATA ***告诉SPSS你此行的目的,得到数据***.
/TYPE=ODBC ***接下来就是选择海陆空了,omgd!是ODBC****.
/CONNECT= ***交通工具的选择及细节,利用交通工具将两地连起来就有了CONNECT***.
'DSN=Microsoft Access;DBQ=c:\mydocuments\dm_demo.mdb;'+ (通常这些细节都利用向导直接生成)
' DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;'
/SQL = 'SELECT * FROM CombinedTable'.
***上面安置完毕,到达目的地了,/SQL就好比你到目的地后所做之事***.
EXECUTE.
上面Syntax的作用是将ACCESS数据库中CombinedTable表中所有数据导入SPSS,上面Syntax语句中红色标注的可以说是此语句的核心部分,①、/connect子语句说明从何种数据库从提取数据及提取相关细节,此过程通常由向导生成,一般需要用时复制-粘贴即可;②、/SQL子语句相比/CONNECT语句则是重中之重,也是此次旅途的终极目的。如果从2个不同的表中选取变量,则是
/SQL =
'SELECT * FROM [table1],[table2]'
' WHERE [conditions]'.
还有select与group by,order by,having 等语句联合运用的情况,更多SQL语法知识则需参考数据库相关书籍(这也是目前许多公司要求做数据分析的懂数据库的原因之一)。
注:单纯从数据库中提取数据并不需要太多数据库知识,单纯了解SQL查询语言就可以了,个人建议读读《SQL循序渐进》。
二、从EXCEL格式文件中读取数据
利用Syntax语句从EXCEL中读取数据并没有太多的技巧,数据读取过程可以简单的分为2类,一类是读取单表数据,另一类则是读取多表数据(与从数据库中读取数据语法类似,只是/CONNECT语句稍有不同)。首先简单的说说第一类从单表中读取数据,例如:从我的文档中读取名叫data的EXCEL工作薄中表salary的[A3:H160]的数据,且将读取数据的第一行作为变量名,其Syntax代码如下:
get data ***①告诉SPSS,你的目的—得到数据(get data)***.
/type=xls ***②读的数据是什么类型(XLS OR XLSM<EXCEL2007>)***.
/file="C:/mydocuments/data.xls". ***③告诉SPSS文档的位置***.
/sheet=name 'salary' ***④告诉SPSS你要读取那个表(缺失时自动读取第一个表)***.
/cellrange=range 'A3:H160' ***⑤告诉SPSS你要读取表中那些数据***.
/readnames=on. ***⑥将读取数据的第一行设置为变量名***.
上面语法明确的表达你的意图,再联系我们在旅途中的种种行为,这个语句就轻而易举的被攻克了。值得一提的是,上面语句中的④⑤⑥三个子语句都可省略,省略后SPSS将从工作薄中第一个表读取所有数据,并将第一行默认为变量名,如果第一行为空,变量名则默认为VAR1,VAR2……,这一过程和利用菜单向导操作效果一样,下面说说怎样从多个表中读取数据,例如:
GET DATA
/TYPE=ODBC
/CONNECT=
'DSN=Excel Files;DBQ=c:\examples\data\sales.xls;' +
'DriverId=790;MaxBufferSize=2048;PageTimeout=5;'
/SQL =
'SELECT Location$.[Store Number], State, Region, City,'
' Power, Hand, Accessories,'
' Tires, Batteries, Gizmos, Dohickeys'
' FROM [Location$], [Tools$], [Auto$]'
' WHERE [Tools$].[Store Number]=[Location$].[Store Number]'
' AND [Auto$].[Store Number]=[Location$].[Store Number]'.
上面的代码和从数据库中读取表数据完全一样,只是在/CONNECT语句上做了些许变化,其他的并无区别,当然重点还是后面的提取数据变量语句/SQL,这里要说明的是如果提取变量字符中含有空格的话就需要用[ ]给框起来了,正如上面示例代码所示。 另外,不得不提的是从多表中读取数据较从单表中读取数据的一些局限性,比如不能像单表一样随意选择数据读取范围;读取表中的第一行非空字符都将强制读取为SPSS中的变量;变量类型较单一,只提供了数字和字符两种数据类型等等。
三、从TXT格式文件中读取数据
利用向导从TXT格式文件从读取数据有时候会因数据格式整洁而很方便,有时又会因为格式混乱而使你后面的分析工作变的麻烦,而利用代码则可以一次解决这种问题。通常读取文本格式数据语句分为get data和data list两种,采用何种语句完全凭个人喜好,当然两种方式各有所长,比如CSV文件或是很大的容量的文本数据用get data较data list就方便的多,而在处理程序内数据(begin data……end data)或结构相对较复杂的数据时用data list语句则较get data语句更方便些。根据文本数据格式,data list语句又有data list free/list/fixed之分,这里不便一一道来,通常一般的TXT格式的数据我们很少遇到,这里主要说说从网站数据库中导出的CSV格式的数据转换情况,例如,我们从网站中导出如下CSV格式的数据dara.csv:
ID,Name,Gender,Date Hired,Department
1,"Foster, Chantal",f,10/29/1998,1
2,"Healy, Jonathan",m,3/1/1992,3
3,"Walter, Wendy",f,1/23/1995,2
4,"Oliver, Kendall",f,10/28/2003,2
下面我们将像旅途一样将此csv格式的数据转换为我们所需的.sav格式,
get data ***①告诉SPSS,你的目的***.
/type=txt ***②告诉SPSS你要乘车还是坐船***.
/file='c:/mydocuments/data.csv' ***③找到车站码头***.
/delimiters= "," ***④司机强调路上安全(数据用","分隔)***.
/qualifier='" ' ***⑤司机介绍如何处理突发事故(比如数据中包含空格,逗号等特殊情况)***.
/arrangement=delimited ***⑥其他注意情况(限制情况)***.
/firstcase=2 ***⑦找到自己的座位(从第2行开始读取数据)***.
/variables= ID F3 Name A15 Gender A1
Date_Hired ADATE10 Department F1. ***⑧到了目的地确定适宜(设定变量名及格式)***.
此次Syntax旅途暂告一段落,当然还有许多其他格式的数据,这里不一一列举,但通常都可以像旅途一样实行转换目的。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
【核心关键词】大数据、零售商、消费者、供应链、运营、企业、产品、客户、数据模型、大数据平台、数据开发、系统运维、业务逻 ...
2026-06-26在物流配送、供应链履约、终端供货等业务场景中,送货率是衡量企业履约能力、服务质量、供应链稳定性的核心业务指标,直接关联客 ...
2026-06-26 很多数据分析师精通描述性统计,能熟练计算均值、中位数、标准差,但当被问到“用500个样本如何推断10万用户的真实满意度” ...
2026-06-26在数字化管理与数据化运营体系中,指标是连接原始数据与业务决策的核心载体。零散的原始数据只是无意义的数值堆砌,无法直接反映 ...
2026-06-25在Excel数据汇总、财务统计、业务复盘等日常办公场景中,经常需要完成逐行相乘、整体汇总求和的计算需求,最典型的场景就是:单 ...
2026-06-25 很多数据分析师沉迷于复杂的机器学习算法,却忽略了数据分析最基础也最核心的能力——描述性统计。事实上,80%的商业分析问 ...
2026-06-25【核心关键词】主数据、资产、供应商、现金流、企业、精细化、集团、数字化、中国、数据质量、数据管理、经营管理、地产行业、 ...
2026-06-24在数据分析、假设检验、AB测试、学术研究等统计场景中,显著水平(α)与P值(P-value)是判断统计结果是否具有统计学意义的两个 ...
2026-06-24小李刚入职了一家互联网公司的运营部门。第一次参加业务复盘会,运营主管问了一个看似简单的问题:“这个月新用户留存率下降了5 ...
2026-06-24在数字化转型全面渗透的产业背景下,数据分析已成为互联网、金融、零售、制造等几乎所有行业的核心岗位能力。很多初学者对数据分 ...
2026-06-23在企业并购、股权定价、投融资评估、资产核算等资本市场核心场景中,市场法是应用最广泛、市场认可度最高的企业价值评估方法。传 ...
2026-06-23 许多数据分析师精通Excel函数和SQL查询,但当面对一张上万行的销售明细表,要快速回答“哪个地区销量最高”“哪款产品增长最 ...
2026-06-23【核心关键词】运营、证书、金融、客户、产品、软件、销售额、量化、科技、数据分析、金融行业、证券类软件、业务流程、金融机 ...
2026-06-22在企业方案选型、产品迭代评审、供应商筛选、运营效果复盘等决策场景中,单一指标的优劣判断往往无法支撑科学决策。一套转化效果 ...
2026-06-22 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-06-22【核心关键词】软件、洞察力、大数据、产品、经验、硬件、流量、创新、决策、数据安全、网络安全、数据分析、决策制定、数据挖 ...
2026-06-18在方案选型、效果复盘、产品评估、供应商筛选等各类业务决策场景中,仅凭单一指标下结论往往会陷入 “以偏概全” 的误区。多维度 ...
2026-06-18 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-06-18在数据分析、用户运营与业务增长的工作体系中,漏斗拆解是最基础也最高频的问题定位方法。很多业务场景下,我们只能看到最终的转 ...
2026-06-17在数据库开发、数据清洗与报表统计场景中,数值类型转换为日期是高频刚需操作。业务系统常以 Unix 时间戳、整型日期(如20240617 ...
2026-06-17