3-dw_缓慢变化维-创新互联

上次我们理解了维度表,哪什么是缓慢变化维呢,比如我们有这样的一个场景, A 客户在 4 月份的时候归属于 X 部门,在 5 月的时候归属于 Y 部门,如果 A 客户的销售额需要体现归属部门的变化关系。此时就需要用到缓慢变化维了。如下图就是对客户表的一个缓慢变化。

公司主营业务:成都网站建设、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出裕华免费做网站回馈大家。

3-dw_缓慢变化维

上面设计就是对每个月把客户生成一份数据,但如果我们的客户有 100 万个呢,每月生成一份,一年后就有 1200 万了,这样导致数据量会很大,在关联的时候会严重影响性能。哪么我们就需要用缓慢变化维的设计方案了,采用代理键方案来达到最少数据量。如下图:

3-dw_缓慢变化维

我们通过对客户表的开始日期和结束日期框定每个客户的当前版本,然后落地数据时把客户的代理键带上,这样以后在做数据分析时,如果结果表带的客户维度信息不全,就可以直接用代理键关联客户维表带出需要的维度,如果此时没有代理键做关联,采用客户代码做关联,就会出现数据笛卡尔积,如下图,当我们需要对结果表增加客户的“归属部门名称”时,有“代理键”信息时,则直接按代理键做关联条件带出客户维表里的“归属部门名称”信息,如果按“客户代码”关联,则会导致数据翻倍,见红色数据记录, 4 月的由 100 变化到 200 了, 5 月份的 200 变化到 400 了,不然就需要重新计算每个月的数据才能达到增加“归属部门名称”信息的目的。

3-dw_缓慢变化维

生成缓慢变化维的 SQL 代码见 :

https://github.com/blt328/dw_blt

更多技术文章请关注公众号 ( 长按后点识别图中二维码 ):

3-dw_缓慢变化维

新闻标题:3-dw_缓慢变化维-创新互联
文章路径:https://www.cdcxhl.com/article46/dijoeg.html

成都网站建设公司_创新互联,为您提供网站改版网站营销微信公众号品牌网站建设网站建设云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化