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模型了。

 

posted @   163博客  阅读(25)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示