如何避免在QlikView中创建日期岛?

时间:2010-08-03 15:17:31

标签: qlikview

我是初学者,我有一个有几个不同日期的数据库。 创建日期 转换日期 失去的日子 更改日期 等

数据需要在一个应用程序中显示,并在所有日期过滤。我在QlikView编码,我可以创建和日期岛,并使用他们的原生集分析来使用过滤数据,但这对性能有重大影响。

在QlikView中编码的任何人都会遇到类似的情况吗?

2 个答案:

答案 0 :(得分:4)

集合分析确实对绩效产生重大影响。最好使用QlikView中的常规“选择”功能。

对于下面的答案,我将假设您熟悉Star Schema开发的概念。简而言之,它意味着将Dimensions(选择字段)与Fact字段(计数字段,求和字段等)分开,并通过链接表将它们连接起来。

有两种可能的情况:

<强> 1。不止一个日期与同一事实有关。

例如,您有一个'销售交易'表,其中包含销售所涉及的金额,并且不仅有“日期”,还有“付款日期”,您想要选择都。在这种情况下,您希望有几个独立的日期选择,因为您无法确定用户是否要选择转换日期,创建日期...等。您需要复制具有不同键名的“日期岛”并将其连接到你的交易表两次。这两个日期池将不再是岛屿,更适合称为“日历维度”。

<强> 2。不同的日期与不同的事实有关。

在这种情况下,您可以使用一个“日历维度”来容纳所有日期字段。只需在日历中创建一个自动编号键,然后将其命名为%DateKey。将此字段设置为日历表和链接表之间的连接。现在,对于所有可以通过日历选择日期的事实表,请确保使用包含自动编号哈希中的日期的键将其连接到链接表。

答案 1 :(得分:1)

让它经历了同样的事情,我将推荐的是创建我所谓的密钥表,如下面的示例Key Table;保持关系,你不必使用集合分析;只是确保你把一张所有可能日期作为子表之一的表和一个像littlegreen建议的%DateKey