2010-08-03 54 views
2

我是一名初学者开发者,我有一个拥有多个不同日期的数据库。 创建日期 转换后的日期 失落日期 更改日期 等如何避免在QlikView中创建日期岛?

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

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

回答

4

集合分析确实对性能有重大影响。您最好在QlikView中使用常规的“选择”功能。

对于下面的答案,我将假设您熟悉Star Schema开发的概念。简而言之,它意味着从事实字段(计数器字段,求和字段等)中分离维度(选择字段)并通过链接表连接它们。

有两种可能的情况:

1.不止一个日期与同一事实。

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

2.不同的日期与不同的事实有关。

在这种情况下,您可以使用一个“日历维度”来适应所有日期字段。只需在日历中创建一个自动编号键,并将其称为%DateKey。将此字段设置为日历表和链接表之间的连接。现在对于所有具有日历的日历事实表,请确保使用包含自动编号散列中的日期的键将其连接到链接表。

1

在经历过这样的事情之后,我会建议我会创建一个如下例所示的关键表:Key Table;保持关系,你不必使用集合分析;只要确保你把所有可能日期的表格作为子表格中的一个,并使用像Dategreen一样的%DateKey