数据质量与原始资料

作者:姜玲
2007/3/29 16:31:11
本文关键字: ttnn 2005年12期

我是做房产方面的数据分析。BI谈不上,目前只能算是报表吧。

我目前所在的公司承接今年银川市房屋普查的数据处理工作,目前已经接近结项,数据处理经过了一个长长的路,有一些心得和尚存的疑惑。

普查数据录入的前提是:严格遵守原表,录入错误不得超过万分之三。
第一,
因为以前没有做过此类的手工普查资料录入的事情,在试点数据录入设计时错误地估计了原始材料的质量,结果,录入过程中,因为普查表的编号是房管局的普查员手工填写的,所以录入员操作的时候,出现了大量的资料重号,这个事情很晕,严重干扰了我们录入工作正常流程。

第二,在普查表填写上,有很多项目普查员没有填,这个在做录入程序的时候是考虑到的,但是如果每遇到这种情况就停来下等待改表,录入速度将大大降低,也很影响录入员的情绪,于是录入时,没有填的项就录为0,但是,做报表的时候就有问题了,报表是从各项目出发来做统计的,从原理上来讲从各项出来的统计数据总和都应相等,放一列"没有填写"是很难看的。于是房管局又要把这部份数据挑出来,一一去查证核实(局里人的速度比蜗牛都慢)。

第三,普查表上,有一些逻辑关系,比如房屋产别是直管公房时,不应有办理产权证,军产时不应处于集体土地,直管公产不能是自用。但实际情况是,表上会出现各种情况,超出正常人的想像力,录入员和软件都不可能强制其遇到问题就停下来改表,(我想可以在录入完毕后统计批量更新)。

二和三就是所谓数据清洗吧,把不合格的数据跳出来,更正之。但这样做真的感觉不爽,因为房管局的同志为了体现工作认真,把所有挑出来的数据又一一去查证核实,他们效率是很慢的,而且核过以后,还得我们再来重新一条条修改一遍。

不知各位有没有普查数据,或其它大批手工数据录入的经验,对于资料比较严重的不合格是怎样处理的?对于手工资料的重号问题是怎样处理的?对于这种录入的错误率不得超过万分之三(我们最后录完,抽查正确率约98%)是怎样看待的?

谢谢各位用宝贵的时间看我的贴子:)

对于这种数据源错误,我认为主要还是要从管理流程上作优化,当然在原始的录入系统,如果有检验机制的话,也能避免一些,但这是后话,不能解决眼前的问题。

而眼前要做的就是能够充分将这些脏数据暴露出来。哪些重号、他们影响到的相关数据,哪些数据的约束不完整(也就是鸭鸭提到的直管公房不应有办理产权证等)、哪些数据不应为空等等。可以看到,其实这就是个数据剖析的工作。

能定出一个指标——"错误率",非常佩服,不过非常好奇,这个指标是如何计算出来的呢?

错误率是这么算出来的 :

和政府的人打交道有时候是很有趣的:)

现在政府管的很严,下属办什么事都是提心掉胆的,尤其涉及到数字的事。这个项目是招标的,而且信息处理的技术负责人,是房管局党委书记的准女婿,拍脑袋在招标的时候定出了万分之三的准确率(神都达不到哦),多么完美的信息处理工作:D

当然,我们一边录的过程中,他们一边在抽查,所以能得出准确率和错误率的。

我也来讲个故事,是最近遇到的案例。

一位朋友的公司,也在为政府部门建设BI系统,也是和原始资料相关。情况大致是这样的,这个局有很多下属单位,这些单位定期要上报一些报表,报表的模板都已经规定好,在较长(如半年)的时间内基本不变。他们上报的方式是用华表报表系统填报这些报表,拷贝到软盘上,上报到总局。

ETL部分是另外一家公司做的。所谓ETL,就是将从各下属单位上报的报表,以单元格为单位放到数据库表中。什么叫做单元格?这是中国报表的特色,不是按照维度和度量来,而是用行和列确定一个单元格。ETL完的数据就是如此存放在一个事实表种,(月份ID、单位ID、报表ID、行ID、列ID、值),显然,那些ID就是维度,而值则是度量。

朋友公司就是依赖这样的事实表,要按照上报的报表模板,将行ID、列ID细分层次,例如第4、5、6列合起来是一个"退休金"。这样就可以构造一系列"分析型"报表,可以进行上卷、下钻等操作,其实就是多维分析拉。只是,将行、列这样没有业务含义的概念当作维度,实在没有办法。

如果上报的报表能够严格按照预定的报表模板还算好,那样,行ID和列ID确定的值依照模板是能找到确切业务含义的。例如第三行第九列是一个xx部门收入额("xx部门"标在行上、"收入额"标在列上)。然而,事情并非如此简单,从最终的结果看,分析报表中的数据和原始报表对不上,往上追溯,发现在上面那个事实表中,数据似乎就已经错位了,第三行第九列似乎对应到了xx部门的平均工资额上去了。

为什么?原来下属单位上报的时候可以任意添加行、列,并可以修改表头的文字。有时候他们会自己觉得模板上的信息不够全,会补充一些数据上去,有时候他们又会发现有些不必填写的行,可能就会删除。这样过于灵活的手工操作,想不出错都难啊。

很明显,让下属单位的上报人员必须规范操作可能是一个办法,但远水解不了近渴。于是,我建议了个解决方案,就是让总局安排人员检查上报的报表,并且提供一个维护界面让他输入,哪张报表、哪行哪列增加了或是删除了。接着在ETL的时候,可以忽略这些行或补充。然而,其实这也是非常容易出错的,你想,一个报表的行数可不少,数错也是经常的事情。因此,此方案被废除。其实根本问题还是在出在上报这个环节,还是得卡住这里,重新提个方案。

首先要做的就是定位出不符模板的上报报表(这需要开发一个程序),规定一个期限,譬如三个月内要杜绝这种情况,在这段期间内,总局这边将派人人工检查报表,发现有多余的行删掉,有缺少的补充,或者特殊情况特殊处理,这都是便于后续的ETL处理。过了这个期限,会将不符模板的打回重报。甚至,如果可以在报表工具里面限制插入行、列的权限,也能一定程度解决此问题(然而,这恐怕不现实,因为涉及到软件的升级,现在还不是web方式,数目众多的下属单位执行起来恐怕会很缓慢)。

至此,发现其实解决的办法不在于技术上,因为过多人工操作必然导致数据质量问题,技术手段也很难考虑方方面面,倒不如从管理流程上下功夫,可能效果更好一些。

责编:姜玲
vsharing 微信扫一扫实时了解行业动态
portalart 微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
畅享IT
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918
Baidu
map