数据仓库的数据标准化思路

浏览: 2417

数据标准化

对于大型公司而言,各个下层子公司都使用自己本地的业务系统,当这些子公司数据往上汇总到总公司时,常常出现代码不一致,数据歧义等等各种各样的问题,在这种情况下,数据标准化就变得不得不行了。

典型的例子,比如医院,大型医院往往包含多个分院,而分院都是用自己的业务系统。业务数据采集汇总后,发现数据结构及数据本身出现歧义,无法直接使用。因此,就不得不对本院及分院的业务数据进行标准化处理,避免歧义,使数据更真实可用,简单易理解。

数据标准化处理应当注意两个关键点:

  1. 一号对应一对象。

    以病人为例,病人可能在各分院及本院都注册建档,因此同一病人可能在各分院都有不同的ID号,但数据采集到本院,与本院数据合并后,进行标准化处理,应保证此病人具有新的唯一ID号。同时需保留病人曾经的各分院及本院ID号,便于其他分院数据的关联(如分院的病人缴费数据需要关联原始分院号码,之后以标准化后唯一ID号,进入本院系统)。

  2. 事实数据标明数据来源。

    如病人缴费信息,因为缴费事实产生的位置不同,需要进行来源标注,分清本院及各分院,便于数据理解及之后的查询和统计。


在构建DW时的数据标准化处理流程上,可以考虑通过以下方式来完成。

标准化准备

在标准化处理之前,需要对DW表格结构进行一些处理,使得标准化过程易于实施,也保证标准化的结果更易于理解。

对于不同的表格上,所需新增的字段也不尽相同。下面分类进行说明:

维表

比如病人信息,科室信息,员工信息,设备信息等,新加字段如下:

字段名类型说明备注
ID数字代理键,主键由序列生成,新的唯一ID号
HISTORY_IDLIST文本曾经使用的编号列表对应分院+分院ID号,以;分隔
START_DATE日期记录生效时间拉链使用,可选
END_DATE日期记录失效时间拉链使用,可选

事实表

如病人缴费,医生处方,手术记录等,新加字段如下:

字段名类型说明备注
SOURCE_ID数字数据来源,本院、分院表示数据来源;应新增本院/分院信息维表,记录source_id对应的分院名,地址,热线等信息
ARCHIVE_FLAG文本记录是否可归档(Y/N)对于已处理完成的信息,如病人已出院,进行可归档标记;DW保留一段时间后,可考虑部分归档数据迁移到二级存储,减轻压力
START_TIME日期记录生效时间拉链使用,可选
END_DATE日期记录失效时间拉链使用,可选

数据标准化处理

在数据标准化的处理过程中,也应分为两步进行处理,先进行维表的代码(如ID号)标准化,然后将事实表中的记录以标准化后的代码配合原来的事实信息(如缴费)及数据来源标记(哪个分院)采集到DW标准事实表中。

维表标准化

  1. 维表标准化以病人维表为例进行说明
  2. 将本院及各分院的维表数据采集到DW标准库的缓冲区(可将本院及各分院数据放置于缓冲区的不同用户下)
  3. 首先标准化本院数据,标准化后的数据写入标准表格。以病人身份证号进行区分,身份证号第一次出现时,取新的序列值为病人的标准化ID号,并将病人的原始信息(本院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。
  4. 之后标准化分院数据,对于本院中未出现的身份证号,取新的序列值为病人的标准化ID号,并将病人的原始信息(分院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。

注:在病人的原始信息记入history_idlist字段时,可选择同时将标准化的病人ID号和原始ID号写入一个代码转换表,便于之后分院事实表通过此代码转换表,根据原始ID号,找到新的标准化ID号。当然,分院事实表也可通过对标准化病人维表的history_idlist字段的全文搜索,找到对应的标准化ID号。实际实施中,以实施效率进行灵活调整即可。

事实表标准化

  1. 将本院及分院的事实表数据采集到DW标准库的缓冲区
  2. 本院及分院事实表需与上一步生成的代码转换表关联(或搜索history_idlist字段),根据原始病人ID号,找到新生成的标准化ID号,联合其它的事实数据(如缴费),写入到新的标准化事实表
  3. 本院及分院事实表数据写入DW标准库的同时,在标准化事实表的source_id字段中标注事实数据来源(本院或分院的编号)

DW数据标准化实施

在实施标准化时,可分为标准化初始化-增量标准化来实施,标准化初始化处理数据量最大,之后增量标准化,只要采集增量数据到缓冲区即可。

标准化初始化

标准化初始化示意图如下:

初始化主要完成以下工作:

  1. 以某个时间点为界,采集本院、分院数据到DW标准库缓冲区
  2. 在缓冲区进行数据标准化后,写入DW标准库
  3. 写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留

标准化增量

标准化增量示意图如下:

标准化增量主要完成以下工作:

  1. 将本院、分院从初始化以来的增量数据采集到DW标准库缓冲区
  2. 在缓冲区进行数据标准化后,写入DW标准库
  3. 写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留

之后每次增量时,重复标准化增量操作即可。

推荐 0
本文由 newkoa 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册