我是初学者,我有一个有几个不同日期的数据库。 创建日期 转换日期 失去的日子 更改日期 等
数据需要在一个应用程序中显示,并在所有日期过滤。我在QlikView编码,我可以创建和日期岛,并使用他们的原生集分析来使用过滤数据,但这对性能有重大影响。
在QlikView中编码的任何人都会遇到类似的情况吗?
答案 0 :(得分:4)
集合分析确实对绩效产生重大影响。最好使用QlikView中的常规“选择”功能。
对于下面的答案,我将假设您熟悉Star Schema开发的概念。简而言之,它意味着将Dimensions(选择字段)与Fact字段(计数字段,求和字段等)分开,并通过链接表将它们连接起来。
有两种可能的情况:
<强> 1。不止一个日期与同一事实有关。
例如,您有一个'销售交易'表,其中包含销售所涉及的金额,并且不仅有“日期”,还有“付款日期”,您想要选择都。在这种情况下,您希望有几个独立的日期选择,因为您无法确定用户是否要选择转换日期,创建日期...等。您需要复制具有不同键名的“日期岛”并将其连接到你的交易表两次。这两个日期池将不再是岛屿,更适合称为“日历维度”。
<强> 2。不同的日期与不同的事实有关。
在这种情况下,您可以使用一个“日历维度”来容纳所有日期字段。只需在日历中创建一个自动编号键,然后将其命名为%DateKey
。将此字段设置为日历表和链接表之间的连接。现在,对于所有可以通过日历选择日期的事实表,请确保使用包含自动编号哈希中的日期的键将其连接到链接表。
答案 1 :(得分:1)
让它经历了同样的事情,我将推荐的是创建我所谓的密钥表,如下面的示例;保持关系,你不必使用集合分析;只是确保你把一张所有可能日期作为子表之一的表和一个像littlegreen建议的%DateKey