多值维度及交叉维度最佳解决方案

本文探讨了在数据处理中遇到的多值维度和交叉维度问题,提出通过桥接表来解决这两种多对多关系。对于事实表与维度表的多对多,可以通过桥接表并引入权重来避免重复计数。在维表与维表的多对多情况下,同样使用桥接表可以简化分析复杂性。降低事实表粒度通常是推荐的做法,但在某些场景下,如交叉维度,桥接表成为必要的解决方案。
摘要由CSDN通过智能技术生成

​     公众号:大数据私房菜 

1前言

       正常情况下,维表和事实表之间是一对多的关系,维表中的一行记录会连接事实表中的多行记录,事实表中的一行记录在维度表中只能关联上一条记录,不会发生数据发散的现象

       想法是美好的,但是事实总是不尽人意。因为现实中不但事实表和维度表之间存在多对多的关系,维度表和维度表之间也存在多对多的关系

        这两种情况本质是相同的,但事实表和维度表之间的多对多关系少了唯一描述事实和维度组的中间维度。

       对于这两种情况,一种称为桥接表的中间表就需要派上用场了,并且还可以支持更为复杂的多对多的关系

 

2事实表与维度表多对多(多值维度)

       比如下单了一套学习课程,但是这套课程并不是某一个用户买的,而是好几个用户合买的,所以为了处理这种情况,需要创建一个桥接表,将这些合买的用户组成一个组


       ETL过程需要对每条事实表中的用户组,在桥接表中查找相应的用户主键,上图所示的桥接表有重复计数的风险。如果按用户累加购买金额,对某

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据私房菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值