将事实表与不同粒度的维度链接

时间:2019-06-21 13:58:59

标签: database-design data-modeling dimensional-modeling

我将为您提供一个示例,以从概念上说明我所面临的挑战。

假设我有一个包含FK到各个Dimension表的BUDGET事实表 预算(时间键,组织键,程序键,预算措施)

我想根据(time_key,Organization_key,Program_key)的不同分组/组合显示一些评论

我本来打算创建那些分组的COMMENT表,但是由于我使用的是Fact表的替代,因此实际上并不能使我将Fact与COMMENT表结合起来。

为您提供一个更具体的示例,假设我在事实中有按国家和城市划分的预算,并且我想在国家/地区级别(由城市组成的一组)以及城市级别。

如果我在事实表中使用代理键,则无法将国家/地区级别的评论与事实表链接起来,以按城市对特定国家/地区进行分组。

我也许可以在事实和注释表中添加自然键,并使用自然键将事实和维连接起来,但是我的分组中有很多维。

我的最终解决方案是创建另一个事实表,其中将包括一个注释字段,并且我将在ETL中为我的不同分组预先计算度量。我将值-1(NULL)放在分组的替代键中。我只会将代理键值放在最低的位置。该事实表还将具有将在报表上使用的所有自然键。

我想知道是否有人可以考虑其他选择。

谢谢。

Sisqo

0 个答案:

没有答案