SCD SurrogateKey OLAP 三个关系
刚工作到现在做数据项目,除了在 IBM 实施 FSDM 里面用了标准数据仓库模型建设方法论,里面有代理键 CL ,IP 等经典数据仓库设计方法论,在国内实施数据仓库用 SurrogateKey 比较少。
解决SCD 问题,建议可以参考维基百科里面 SCD解决方法。
这里面我想表达是 SCD 和 SurrogateKey 和 OLAP 关系。
问题: 如果用商业 多维建模 或者开源 kylin工具建模,底层维度表(拉平层级)和事实表在工具里面一般是 1:N 关系,OLAP工具底层逻辑是维度和事实表关联关系,预计算生成CUBE。
项目中经常遇到有 Hierarchy 维度 ,归属有变化, 关联人员也随即调整。
Q1: 如果从历史时间上看所有维度数据,目前开始时间结束时间这种拉链是不支持的。
如果不用代理键: 上面这种历史变化的维度在模型是无法建立的。
首先 上面SCD 问题 把 上面维度代码转换为代理键, 然后刷新事实表维度值。
第二天变化了,需要从根节点遍历,如果任何一个根节点的上下级关系有变化,那么这个节点所有子节点都需要生成新代理键和关系。
依次类推,所有层级有变化都需要生成代理键,同时刷新当天事实数据。
事实数据例如:
时间 机构 金额
20220101 10000005(F) 100.0
20220102 10000010(F) 200.0
注释: 上面维度,如果涉及人员和维度关联,人员做 IP 代理键,更新人员维度代理键。
这样就可以建立SCD全历史OLAP模型了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!