我正在建立一个用于报告目的的数据集市。 我是这个领域的新手,正在寻求帮助。
我有一个事实表和两个维度表。 事实表只有3个字段,它的主键和对两个维表的外键引用。 二维表具有与1)phonenumbers和2)扩展号相关的数据。 (我无法组合这些维度表,因为它们有不同的信息)
如您所见,我的事实表没有任何定量列。
我想生成一个显示电话号码和相应扩展名的报告。
我可以通过在两个维度表上执行连接来获取此信息。
所以我的问题是我必须在报告中使用事实表吗?即我是否应首先从phonenumber表中获取密钥,在事实表上执行join,获取扩展密钥并在扩展表上执行join?
OR
只需加入两个维度表来生成报告,因为在这种情况下可以生成报告吗?
我们是否必须参与事实表?
感谢阅读。
感谢任何帮助。
答案 0 :(得分:1)
我必须在报告中使用事实表吗?即我是否应首先从phonenumber表中获取密钥,在事实表上执行join,获取扩展密钥并在扩展表上执行join?
通常,这是必要的。
只需加入两个维度表来生成报告,因为在这种情况下可以生成报告吗?
有时,这也有效。
我们是否必须参与事实表?
取决于人际关系。
如果您有维度信息的“层次结构”,那么的两个维度可以直接相关。在这种情况下,事实表不会将它们绑在一起。事实与细节有关;详细维度与摘要相关联。这很少见。
尺寸变化。
如果您有两个或更多缓慢变化的尺寸,那么您的尺寸可能包含大量“之前”的关系信息。
Fact 1: Phone xxx-xxx-xxxx, Extension yyyy
Fact 2: Phone xxx-xxx-xxxx, Extension zzzz
然后,另一个加载应用SCD规则将zzzz修改为aaaa,截至7/1/11您可以使用旧的维度值以及新的维度值,并使用适用的日期范围。
现在,需要事实(和日期范围)来定义您将获得的维度值的哪个副本。
Fact 2: Phone xxx-xxx-xxxx, Extension zzzz, from beginning to before 7/1/11.
Fact 2: Phone xxx-xxx-xxxx, Extension aaaa, from 7/1/11 to end.
因此,您可能需要事实,维度和时间来理清关系。