作者:FXHT4564_845 | 来源:互联网 | 2023-05-18 16:49
在数据仓库中,事实表和维度表的数据通常都是同时到来的,我们根据维度记录的不同情况会对事实表中的维度外键进行如下的处理:1.如果维度记录是个新的,我们分配一个新的代理键给这个记录。2.如果维度记
在数据仓库中,事实表和维度表的数据通常都是同时到来的,我们根据维度记录的不同情况会对事实表中的维度外键进行如下的处理:
1.如果维度记录是个新的,我们分配一个新的代理键给这个记录。
2.如果维度记录是以前的修改版,我们用TYPE 2的缓慢变化维度处理策略来处理,即生成新的代理键,生成新的维度记录。
3.如果维度记录是以前就有的,我们就使用以前的维度键。
对于迟来的事实记录,我们需要在维度表中进行搜索,确定对应该事实记录的维度记录。
下面讨论一下早到的事实记录。早到的事实记录和迟到的维度是同样的,就是指事实记录来到了但是事实的描述属性是暂时未知的。例如客户的帐单信息来到了,里面有客户代码,但是该客户的维度记录没有来到,即详细的客户信息没有。通常情况下,我们可以在数据准备区中等待维度记录的到来,然后用常规的方法进行数据加载。
但是对数据的实时性要求比较严格的情况下,事实记录必须尽快的交给用户查看。这种情况下,以迟到的维度是客户记录为例,我们有两种选择。
1.用事实记录中的客户自然键到查找表中查找,如果有对应的代理键,则使用最新的代理键替换到事实表中,但是要将该事实记录在数据准备区中做好备份,因为它对应的客户维度记录有可能是修改过,以后需要进行TYPE 2处理。这样的处理方式,需要对事实表的客户外键进行更新操作。
2.如果查找表中没有对应的代理键,则我们能确定客户是新的,可以分配新的客户代理键,在客户维度表中插入一条记录,只保存客户自然键和代理键,其他属性以后使用TYPE 1添补。
对于早到的事实,我们无法避免有一段时间他的维度信息是不全的。处理时需要做好记录,为后续的处理做好准备。