数据质量的四大特性

14 views
Skip to first unread message

Solo Zhu

unread,
Oct 29, 2009, 2:09:30 AM10/29/09
to ttnn BI 观点
关于数据质量的问题我最近也研究了几个月,我来谈谈我自己的体会吧
首先出现报表数据在不同版本出现较大的问题这是很多原因,不管谁先谁后我们假设有两张报表,A和B,A和B报表上出现的总销售额不一样,由一下几种情

1: 销售额的统计范围不一,如时间,区域或者产品
2: 定义不一致,比如是否扣税,汇率,结算方式(如应付款和收货款),或者财务的款项统计,常见的有自然年月日的统计和财务计算年月的统计
3:数据的维度统计不一致,如订单的状态,是否有取消的,是否计算冲账的
4:数据来源不一致,如从市场部门获得的数据源和交易系统获得的数据源。
5:各地区对于统计数据本身的定义就不明确,比如销售额的销售调整部分,是否也应计入销售额,或者将此类划入日常开销成本中。

以上我要说的就是
<H1>数据的业务定义是数据质量评估的第一步</H1>

关于数据的质量部分,不同的标准,评估的结果也不一样,数据有四大特性,准确性,一致性,完整性和及时性

至于很多朋友说还有可靠性,有效性,等等,我想都可以算作是准确性的一部分

准确性表现为能正确的反应事实

不言而喻,四大特性的优先级是准确性,一致性,完整性以及及时性
准确性首先需要标准,就想法律和打官司一样,标准的界定是一个主要的环节,我们可以用When,Where,Who,which来清楚的界定,这样我们
统计的时候就有依据,如果都安装这样的范围来统计,就是做100张报表,对于总数的统计也不会有问题

一致性的表现其实就是对数据在不同阶段,不同时间,不同部门和区域的定义是否一致,举一个简单的例子,对于客户的性别,有的用男&女,有的用1&0,又
有的F&M,但是突然出现空,2,D,P等等,这能说数据不准确吗,这只能算作是数据不够一致,我们整合起来也不是太复杂,映射清楚就可以了,而没有约
束,出现额外值的情况,能改我们就改,不能改的,我们可以讲数据的意外值分为意外值和空值两种,意外值表示填错了,空值表示没有填

完整性是对企业数据实体的完整说明,比如客户的附带属性是性别,姓名,年龄,地址,规模,平均年消费次数等等等,这同样可以用数据统计的方法说明数据是
否完整。

及时性及不言而喻了

对此我的意思是做数据评估,如果数据的准确性不能i达到要求,数据质量就直接不合格,数据的准确性的判断和修正时最不需要技术含量的,相对而言。
对于完整性和一致性,可以讲实体的不同附属信息设置为不同的指标,并且按照应用频率设置权重

最常用和权威的方式可以使用6Sigma的方法做评估

Regards
Solo Zhu
Blog:http://bidwhome.itpub.net

蓝稚瑜

unread,
Oct 30, 2009, 5:05:34 AM10/30/09
to ttnn BI 观点
四性如何细化?准确率如何衡量?

Solo Zhu

unread,
Nov 3, 2009, 9:03:19 PM11/3/09
to ttnn BI 观点
对于数据的四性,我们必须找到如下几点
1:Owner,即数据的所有者,数据是谁输入的,谁输入的谁负责,或者是谁定义的谁负责,(当然这样根据具体的情况而定)找到数据的负责人
2:数据的标准范围,有些数据,特别是主数据,都是有范围的,这里的范围只是一种查询和检测的手段,比如性别:最多可以有男 女,空,未知这四种情况,
这就是范围,超出这个范围的,比如填“sH”“好”等不输入这个范围的就是错误的,这和未知以及空值都是不对等的。
3:数据的业务定义,每个部门,每个报表,每个元素,都需要定义,只有定义清楚了,就知道数据的统计口径是否一样。
有了以上三种情况,我们就可以对数据源的质量进行分析了

首先是数据源中有哪些表,有哪些字段或者是属性,每种属性的取值范围,所有者以及业务定义是否清楚

其次研究数据表之间是否存在约束,没有约束的主数据,其质量是很差的,出现例外的情况很多

第三是看每个数据源在业务定义上,哪些是一致的,哪些不一致,不一致的定义在哪里?

最后我们来谈谈如何量化

这里的量化指标有几种
1:数据范围值,例外值有多少,%是多少
2:数据有多少属性,出现的例外值的%是多少
3:数据属性的记录数,出现例外值的%是多少
4:不可错的数据占得%是多少
5:可清洗转化的例外值占%时多少


希望大家踊跃的发言。

loafer

unread,
Nov 3, 2009, 9:36:22 PM11/3/09
to ttnn BI 观点
窃以为男女用A, B表示还是用0,1表示不代表数据不一致。用户甲在一个系统中是男,另一个系统中是女,才算数据不一致。

在现在的大型企业中,编码不一致基本上是100%的。

On 10月29日, 下午2时09分, Solo Zhu <solof...@gmail.com> wrote:

xichen...@gmail.com

unread,
Nov 3, 2009, 10:10:38 PM11/3/09
to tt...@googlegroups.com
感觉说的都对,你讲的这些,我在前面的查看文档和工作中都见过或经历过。只是我觉得你写的还是在对于数据质量的一个理论层面。关键我还是希望得到一个可操作的实践方法论。
一个数据仓库系统,源数据的表很多,相应的字段很多。要先把所有字段应该满足的规则的整理出来,包括记录数,主外键约束等等,比较麻烦的该字段的从业务上来说正确的数据应该是什么,因为技术人员对业务知识不是最清楚的,需要业务人员参与,同时业务知识是一个比较弹性的东西,也许一个字段需要满足很多个业务规则,如何确保你把每一个都整理出来了?对于规则整理还有另一个方面,那就是几个表的不同字段联合起来需要满足某个规则,即字段的相关性。
规则整理出来了,如何能够高效率的应用这些规则去检查并能很好的查看结果?最好是我规则填到一个excel中,点个按钮就自动检查,还把清洗逻辑也自动生成,那就好了。
Informatica的那个data profiling我看了下文档,感觉它那个工具有不错的地方,比如把data profiling集成到了它的session和workflow概念中,比如对于结果的查看,但真正用起来,需要的工作量还是很大的。
说得大点,数据质量的管理不应该当作这种事后的一次性处理,而应该当成一种机制贯彻到企业各个流程中,当成一个持续和永续的一个过程。
现在还有那个主数据管理,还看到一种方法,就是主数据管理或数据质量管理与SOA结合,也叫real-time数据质量。把数据质量的检查逻辑发布为一个service,再把这个sevice应用到业务系统中,这样在数据产生的地方就关注数据质量。


 
2009/11/4 loafer <13801...@139.com>

Solo Zhu

unread,
Nov 4, 2009, 3:04:08 AM11/4/09
to ttnn BI 观点
很同意你的观点"数据质量的管理不应该当作这种事后的一次性处理,而应该当成一种机制贯彻到企业各个流程中,当成一个持续和永续的一个过程"

我见过一种情况,大家很多人都会遇到过,我们电脑的桌面或者硬盘上会放一下临时性的或者当时觉得很有用的文件和资料,几个月或者几年后,我们都不曾再去
看看这个文件,那能说明这个文件对我们来说事有用的吗?

数据质量的管理可以从整理,处理和维护管理三个层面去说明。

整理,将目前数据质量的各个方面的东西都列出来,产品信息,客户信息,交易信息,区域信息,库存信息等等,哪些需要花点时间整理的都需要整理出来,看看
那些属性人工去补全,哪些可以自动化的处理,统统的在业务模式允许的情况下登记

处理:就是将需要补全和修改的地方按照一定的规则进行,遗漏的,错误的,不一致的等等都需要进行处理

管理维护的过程是一个实时的或者延时的过程,通过规则来发现数据在准确性,一致性,完整性上来进行校验,记录校验结果,通过修正引擎来出来,可以自动化
的,也可人工的。还记得国家处理酒后驾车的问题吗?几个月后,情况明显改观。其实数据质量在日常的维护中也需要这样的力度,慢慢的,对于前段的输入人员
和后面的维护人员都会适应的。当然管理质量并非IT的事情,如果高层都觉得有必要的话,就应该大力的支持和协助。同时可以指定相关的政策,比如使用
KPI指标来管理。还可以实施6Sigma的方法来管理,这是很多制造业在使用的管理模式之一。其实我们也可以借鉴。

On 11月4日, 上午11时10分, xichengmyl...@gmail.com wrote:
> 感觉说的都对,你讲的这些,我在前面的查看文档和工作中都见过或经历过。只是我觉得你写的还是在对于数据质量的一个理论层面。关键我还是希望得到一个可操作的实 践方法论。
> 一个数据仓库系统,源数据的表很多,相应的字段很多。要先把所有字段应该满足的规则的整理出来,包括记录数,主外键约束等等,比较麻烦的该字段的从业务上来说正 确的数据应该是什么,因为技术人员对业务知识不是最清楚的,需要业务人员参与,同时业务知识是一个比较弹性的东西,也许一个字段需要满足很多个业务规则,如何确 保你把每一个都整理出来了?对于规则整理还有另一个方面,那就是几个表的不同字段联合起来需要满足某个规则,即字段的相关性。


> 规则整理出来了,如何能够高效率的应用这些规则去检查并能很好的查看结果?最好是我规则填到一个excel中,点个按钮就自动检查,还把清洗逻辑也自动生成,那 就好了。
> Informatica的那个data profiling我看了下文档,感觉它那个工具有不错的地方,比如把data
> profiling集成到了它的session和workflow概念中,比如对于结果的查看,但真正用起来,需要的工作量还是很大的。
> 说得大点,数据质量的管理不应该当作这种事后的一次性处理,而应该当成一种机制贯彻到企业各个流程中,当成一个持续和永续的一个过程。
> 现在还有那个主数据管理,还看到一种方法,就是主数据管理或数据质量管理与SOA结合,也叫real-time数据质量。把数据质量的检查逻辑发布为一个ser vice,再把这个sevice应用到业务系统中,这样在数据产生的地方就关注数据质量。
>

> 2009/11/4 loafer <13801396...@139.com>

xichen...@gmail.com

unread,
Nov 4, 2009, 3:11:40 AM11/4/09
to tt...@googlegroups.com
关于借鉴制造业经验,好像现在也有以全面质量管理(TQM)的思路来做数据质量管理的。我觉得,在没有什么好思路的情况下,倒是可以研究一下制造业上那些经验到底能不能用上,或者借鉴,或者改良。

2009/11/4 Solo Zhu <solo...@gmail.com>

loafer

unread,
Nov 4, 2009, 7:26:59 AM11/4/09
to ttnn BI 观点
service的想法其实非常好。这些年所看到的数据质量管理都是从数据出发的,采用的都是面向数据和面向集合的方法。最近也看到越来越多的面向过程的
处理方法,比如DQ的Service。

面向数据的方法往往是从关系数据库出发,用SQL语句,读取和应用检验规则,效率很高,但面向数据的处理方法灵活性不够,复杂一些的业务逻辑校验起来比
较困难。而且跨系统整合的时候,会遇到困难。面向流程的处理方法更侧重流程性和系统之间的数据整合。不过,窃以为性能是个比较大的挑战。不知道实际的生
产中能达到什么样的效率。

On 11月4日, 上午11时10分, xichengmyl...@gmail.com wrote:

> 感觉说的都对,你讲的这些,我在前面的查看文档和工作中都见过或经历过。只是我觉得你写的还是在对于数据质量的一个理论层面。关键我还是希望得到一个可操作的实-践方法论。

蓝稚瑜

unread,
Nov 5, 2009, 4:19:05 AM11/5/09
to ttnn BI 观点
楼主,个人觉得DQM的难点在于数据质量如何度量。
楼主所说的四性,即准确性,一致性,完整性和及时性,是业界认可的衡量数据质量要素。但是每个要素又如何度量呢?
如果说四性是数据质量度量的大类,那么我认为对应大类还需要细类,其实就是可操作的度量规则。
如果建立数据质量监控系统的话,一定是按照度量规则去检查数据,检查结果汇总成四性,然后用四性去描述企业或部门的数据质量如何。

我现在就是不知道细类是怎样的。比如说数据范围值是否符合要求,这应该属于准确性。

askyer

unread,
Nov 5, 2009, 8:07:05 PM11/5/09
to tt...@googlegroups.com
还不如考虑搞一个数据仓库质量成熟度模型出来

质量管理更侧重于日常管理,如果都是在数据仓库建立是考虑数据质量,度量
日常数据管理没有跟上仍然得不到很好的数据结果


-----邮件原件-----
发件人: tt...@googlegroups.com [mailto:tt...@googlegroups.com] 代表 蓝稚瑜
发送时间: 2009年11月5日 17:19
收件人: ttnn BI 观点
主题: Re: 数据质量的四大特性

Solo Zhu

unread,
Nov 5, 2009, 9:19:59 PM11/5/09
to ttnn BI 观点
最初的想法还是想以问题为导向,逐步推进数据质量的管理模型。

首先有大家提出合适各样的数据质量问题,然后集中起来,探讨如何解决这些问题,然后抽象成模型,逐步推进。

如果单纯的从四个特性来谈的话,有点形而上学,也不适用于操作,现有理论后有实际经验,还是有实际问题的解决经验来产生指导理论,这是有本质的区别。

不知道大家有何看法

xichen...@gmail.com

unread,
Nov 5, 2009, 9:38:14 PM11/5/09
to tt...@googlegroups.com
我赞成先实践,没有深厚的积累,就去搞理论,就像研究生时候写论文一样,肯定只能拷贝粘贴,拼拼凑凑了,结果就是看起来很美,实际啥都不是。

2009/11/6 Solo Zhu <solo...@gmail.com>

xichen...@gmail.com

unread,
Nov 5, 2009, 9:39:59 PM11/5/09
to tt...@googlegroups.com
不过我现在这个工作,空闲时间倒是蛮多,而且也想在数据质量方面多学习学习。

python

unread,
Nov 5, 2009, 10:17:52 PM11/5/09
to tt...@googlegroups.com

数据质量从本身上来说是一个超大的范畴,大的闭环流程 政策、组织、管理、架构、流程、质量及定义标准、监督反馈都需要涉及。

数据质量在检测标准、流程定义可以量化到6个指标汇总后4个特性。

但从一个企业实施数据监管来看,不可能全盘跟上,只能从仓库数据流程的某些抽查点来切入逐步的实施闭环。

初始检测基本靠人工,当规则及标准定义可以集合元数据做适配器自动检测加6个数据质量指标的报表报告。

 

在建设数据仓库前肯定有阶段是做数据质量评估的。

在模型期以及做ETL mapping 、统一编码 都是 初步定义质量规则的步骤。

仓库在经历一段时间运行后,更需要从业务规则、数据规则 多个特性来验证质量。同时提出解决方法。

个人总的来说还是需要切刀整个质量的闭环流程。

 

 

Python

MSN: shir...@163.com

 

发件人: tt...@googlegroups.com [mailto:tt...@googlegroups.com] 代表 xichen...@gmail.com
发送时间: 2009116 10:40
收件人: tt...@googlegroups.com
主题: Re: 答复: 数据质量的四大特性

Reply all
Reply to author
Forward
0 new messages