Qlikvew模型

Posted xcxp小胖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qlikvew模型相关的知识,希望对你有一定的参考价值。

经常看到有人对qlikview的model的疑问或者一些组合键或者成环的一些问题,所以下面就探讨一下qlikview建模。

业务背景:有3张事实表分别为采购表、库存表、销售表,4张维度表分别为日期、产品、供应商、客户,我们现在需要搭建模型。

初始模型:直接将所有的数据表load至qlikview,字段内容就不做解释了,都非常简单,如下图:

技术分享

这个时候就产生了$syn键,也称组合键,这个字段名称相同就自动关联是qlikview的特性,这里就不做太多其他解释,那么这个模型是可以可以被优化的,当然了这个模型不优化也是可以的,但是不是很好的习惯或者说对性能或者其他方面有些影响,所以在这里都不做探讨是不是应该被优化,我只是建议优化,所以下面就探讨如何优化。

优化的重点还是在组合键,我们从模型中看到$syn table中的公用键是产品ID和日期ID,所以我们要优化的就是将$syn table优化为Linktable(这里不对linktable做太多解释),所以我们需要把每张表中的产品ID和日期ID抽象为一个key,即如下:

技术分享

因为事实表中的产品ID和日期ID都被抽象了,所以这个时候事实表是无法关联日期表和产品表的,下面就开始构造Linktable,代码如下:

技术分享

这里大概解释一下这些代码的思路,构造linktable的目的就是不让两张或者以上的表公用两个以上的字段,避免$syn table,然后每个 "日期ID&产品ID"这个key与事实表关联,原本每个事实表中的日期ID和产品ID只和维度表关联,如果有更多的公用key都可以按照这种方法处理,优化之后的模型如下图:

技术分享

结构非常清晰,方便后期扩展等,当然也有其他方法可以处理,比如Join事实表等,但是不是一个很好的做法,如有不妥之处,还望大家给出宝贵的意见,谢谢!

以上是关于Qlikvew模型的主要内容,如果未能解决你的问题,请参考以下文章

东软 软件工程2 软件开发模型 瀑布模型 原型模型 螺旋模型 统一过程模型RUP 敏捷开发模型

逻辑数据模型之层次数据模型网状数据模型和关系数据模型

参数化模型(parametric model)和非参数化模型non-parametric model)的区别?哪些模型是参数化模型,哪些模型是非参数化模型?

参数模型 非参数模型 生成模型 判别模型

模型压缩模型剪枝模型部署

模型和方法的区别?