数仓-维度模型之维度迟到问题处理详解

数仓-维度模型之维度迟到问题处理详解

摘要:在数据仓库项目中,从贴源层(ODS)更新到数据仓库层(DW)时,出现了拉链形式的维表数据更新不及时的情况,从而导致事实表中的该维度列值为空或旧值。需要根据维表数据更新的时间,将事实表中数据纠正。

关键词:数据仓库 离线数仓 维度迟到 退链 ODS DW 拉链表 缓慢变化 SCD2

问题示例

问题背景:数据源中有商品表、用户表和订单表,业务流程为从数据源加载数据到ODS层,之后在DW层进行维度建模,分为商品维度表(缓慢变化),用户维度表(缓慢变化),订单事实表(事务、增量)。

问题:业务上,商品苹果单价在2021-03-25由5更改为10,但是数据源中的商品表更新日期为2021-04-05,滞后于业务,检查发现之后,将数据源中的最近更新日期纠正为2021-03-25。在常规的数仓更新操作中,无法处理该错误,因此需要对数仓中的数据进行修正。

===========================================================================================

修正前表数据:

ODS层

商品表

商品id 商品名称 商品单价 最近更新日期
1 苹果 10 2021-04-05
2 香蕉 2 2021-03-04
3 葡萄 15 2021-03-04

用户表

用户id 用户名称 用户手机号 最近更新日期
1 张三 123 2021-01-04
2 李四 234 2021-01-04
3 梅有钱 345 2021-01-04
4 刘首富 456 2021-01-04

订单表</

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以提供如下的医疗居民健康档案数仓维度模型设计的思路: 1. 维度的设计 - 时间维度:包括年、季度、月、周以及日等时间粒度; - 医疗机构维度:包括医院、诊所、社区卫生服务中心等; - 医生维度:包括医生的姓名、性别、职称、科室等信息; - 居民维度:包括居民的姓名、性别、年龄、身份证号、联系方式等信息; - 疾病维度:包括疾病的名称、ICD编码、病症描述等信息; - 检查项目维度:包括检查项目的名称、编码、描述等信息; - 药品维度:包括药品的名称、编码、规格、剂量等信息; 2. 度量的设计 - 居民数量:统计每个时间点的居民数量; - 门急诊人次:统计每个时间点的门急诊就诊人次; - 住院人次:统计每个时间点的住院人次; - 平均住院天数:统计每个时间点的住院总天数除以住院人次; - 门急诊医疗费用:统计每个时间点的门急诊医疗费用总额; - 住院医疗费用:统计每个时间点的住院医疗费用总额; - 药品费用:统计每个时间点的药品费用总额; - 检查费用:统计每个时间点的检查费用总额; - 疾病分类统计:统计每个时间点各种疾病的数量和费用; 3. 粒度的设计 - 时间粒度:按照年、季度、月、周以及日等粒度进行统计; - 医疗机构粒度:按照医院、诊所、社区卫生服务中心等不同的医疗机构粒度进行统计; - 医生粒度:按照医生的姓名、性别、职称、科室等不同维度进行统计; - 居民粒度:按照居民的姓名、性别、年龄、身份证号、联系方式等不同维度进行统计; - 疾病粒度:按照疾病的名称、ICD编码、病症描述等不同维度进行统计; - 检查项目粒度:按照检查项目的名称、编码、描述等不同维度进行统计; - 药品粒度:按照药品的名称、编码、规格、剂量等不同维度进行统计; 以上是一个初步的医疗居民健康档案数仓维度模型设计的思路,具体的细节还需要根据实际情况进行进一步的调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值