数据标准化
对于大型公司而言,各个下层子公司都使用自己本地的业务系统,当这些子公司数据往上汇总到总公司时,常常出现代码不一致,数据歧义等等各种各样的问题,在这种情况下,数据标准化就变得不得不行了。
典型的例子,比如医院,大型医院往往包含多个分院,而分院都是用自己的业务系统。业务数据采集汇总后,发现数据结构及数据本身出现歧义,无法直接使用。因此,就不得不对本院及分院的业务数据进行标准化处理,避免歧义,使数据更真实可用,简单易理解。
数据标准化处理应当注意两个关键点:
-
一号对应一对象。
以病人为例,病人可能在各分院及本院都注册建档,因此同一病人可能在各分院都有不同的ID号,但数据采集到本院,与本院数据合并后,进行标准化处理,应保证此病人具有新的唯一ID号。同时需保留病人曾经的各分院及本院ID号,便于其他分院数据的关联(如分院的病人缴费数据需要关联原始分院号码,之后以标准化后唯一ID号,进入本院系统)。
-
事实数据标明数据来源。
如病人缴费信息,因为缴费事实产生的位置不同,需要进行来源标注,分清本院及各分院,便于数据理解及之后的查询和统计。
在构建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标准事实表中。
维表标准化
-
维表标准化以病人维表为例进行说明
-
将本院及各分院的维表数据采集到DW标准库的缓冲区(可将本院及各分院数据放置于缓冲区的不同用户下)
-
首先标准化本院数据,标准化后的数据写入标准表格。以病人身份证号进行区分,身份证号第一次出现时,取新的序列值为病人的标准化ID号,并将病人的原始信息(本院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。
-
之后标准化分院数据,对于本院中未出现的身份证号,取新的序列值为病人的标准化ID号,并将病人的原始信息(分院编号+原始ID号)记入history_idlist字段;同一身份证号之后重复出现时,将病人的原始信息添加到history_idlist字段即可。
注:在病人的原始信息记入history_idlist字段时,可选择同时将标准化的病人ID号和原始ID号写入一个代码转换表,便于之后分院事实表通过此代码转换表,根据原始ID号,找到新的标准化ID号。当然,分院事实表也可通过对标准化病人维表的history_idlist字段的全文搜索,找到对应的标准化ID号。实际实施中,以实施效率进行灵活调整即可。
事实表标准化
-
将本院及分院的事实表数据采集到DW标准库的缓冲区
-
本院及分院事实表需与上一步生成的代码转换表关联(或搜索history_idlist字段),根据原始病人ID号,找到新生成的标准化ID号,联合其它的事实数据(如缴费),写入到新的标准化事实表
-
本院及分院事实表数据写入DW标准库的同时,在标准化事实表的source_id字段中标注事实数据来源(本院或分院的编号)
DW数据标准化实施
在实施标准化时,可分为标准化初始化-增量标准化来实施,标准化初始化处理数据量最大,之后增量标准化,只要采集增量数据到缓冲区即可。
标准化初始化
标准化初始化示意图如下:
初始化主要完成以下工作:
-
以某个时间点为界,采集本院、分院数据到DW标准库缓冲区
-
在缓冲区进行数据标准化后,写入DW标准库
-
写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留
标准化增量
标准化增量示意图如下:
标准化增量主要完成以下工作:
-
将本院、分院从初始化以来的增量数据采集到DW标准库缓冲区
-
在缓冲区进行数据标准化后,写入DW标准库
-
写入完成后,清理缓冲区,但建立了代码转换表的话,代码转换表可保留
之后每次增量时,重复标准化增量操作即可。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10009036/viewspace-1064738/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10009036/viewspace-1064738/