这篇Blog主要介绍下通过Concatenation(串联) 事实表来避免loops 和 synthetic keys:
Qlikview里的建模通常都是是很简单的。通常我们只要重新命名一些子段的名字来防止或者建立表之间的自动关联。
但是有时候我们只是通过简单的重命名是解决不了问题的。例如我们有多个事实表和其他的表有多个关联,这样通常会产生可怕的
synthetic key,更可怕的是会产生data loop(闭环).Qlikview的data modeling千万不能有data loop。
要建立一个好的数据模型在Qlikview里是和通常的关系型数据库建模是有很大的区别的。用QLIKVIEW进行建立模型和维度模型很相似。根据数据的复杂性,有时候需要用混合型的建模方法。当然QLIKVIEW是很支持此类建模的。
今天我们来一起见证下Qlikview是如何处理这类复杂的关联的。
Qlikview里的建模通常都是是很简单的。通常我们只要重新命名一些子段的名字来防止或者建立表之间的自动关联。
但是有时候我们只是通过简单的重命名是解决不了问题的。例如我们有多个事实表和其他的表有多个关联,这样通常会产生可怕的
synthetic key,更可怕的是会产生data loop(闭环).Qlikview的data modeling千万不能有data loop。
要建立一个好的数据模型在Qlikview里是和通常的关系型数据库建模是有很大的区别的。用QLIKVIEW进行建立模型和维度模型很相似。根据数据的复杂性,有时候需要用混合型的建模方法。当然QLIKVIEW是很支持此类建模的。
今天我们来一起见证下Qlikview是如何处理这类复杂的关联的。
Concatenation of fact tables to avoid loops and synthetic keys
下面是一个例子 :
Store:
Load * Inline [
StoreID, StoreName
1, Store A
2, Store B
];
Calendar:
Load MonthID As DateID, Month Inline [
Mon